home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / fb386 / taiheiki / sisaku1.bas < prev    next >
BASIC Source File  |  1994-06-01  |  82KB  |  1,587 lines

  1. 100  CLS:SCREEN@ 0
  2. 110  DIM A%(INT((INT(231+7)/8)*451*4+2-1)/2)
  3. 120  LOAD@ "0:\DAI.TIF",(640,0)
  4. 130  GET@A (640,0)-(870,450),A%
  5. 140  LOCATE 27,10,0:PRINT "歴史シミュレ-ションゲ-ム":WAIT 300:CLS  
  6. 150  PUT@A (200,0)-(430,450),A%,PSET,1,1:WHILE MOUSE(2,0)=0:WEND
  7. 160  CLS:CLEAR,, 2024,210000:VIEW:PRINT "資料読み込み中"
  8. 170  DIM HYOUZI%(INT((INT(200+7)/8)*200*4+2-1)/2),ITI%(30,25),SIKAN%(579)
  9. 180  DIM TOSI$(63),TX%(63),TY%(63),TS%(63),TK%(63),SI1%(63),SI2%(63),SI3%(63),SI4%(63),SI5%(63),SS%(63),HYOUZI$(100),BUKA%(50):Z=10:MOZI=0
  10. 190  DIM NO%(579),NAMAE$(579),BSN%(579),BB%(579),BT%(579),BZ%(579),BSZ%(579),BC%(579),S1%(579),S2%(579),S3%(579),S4%(579),S5%(579),DEI%(579):NO=6
  11. 200  OPEN "I",#1,"BUSYO1.DAT"
  12. 210  WHILE EOF(1)=0
  13. 220  INPUT#1,NAMAE$,A,B,C,D,E,F,G,H,I,J,K,L,M
  14. 230  NAMAE$(NO)=NAMAE$:BSN%(NO)=A:BB%(NO)=B:BT%(NO)=C:BZ%(NO)=D:BSZ%(NO)=E:BC%(NO)=F:S1%(NO)=G:S2%(NO)=H:S3%(NO)=I:S4%(NO)=J:S5%(NO)=K:DEI%(NO)=L:SIKAN%(NO)=M:NO=NO+1
  15. 240  WEND
  16. 250  CLOSE#1
  17. 260  OPEN "I",#1,"TOSI.DAT"
  18. 270  WHILE EOF(1)=0
  19. 280   INPUT#1,T$,A,B,C,D,E,F,G,H,I
  20. 290   TOSI$(Z)=T$:TX%(Z)=A:TY%(Z)=B:TS%(Z)=C:TK%(Z)=D:SI1%(Z)=E:SI2%(Z)=F:SI3%(Z)=G:SI4%(Z)=H:SI5%(Z)=I:Z=Z+1
  21. 300   WEND
  22. 310  CLOSE#1
  23. 320  OPEN "I",#1,"HYOUZI.DAT"
  24. 330  WHILE EOF(1)=0
  25. 340   INPUT#1,HYOUZI$
  26. 350   HYOUZI$(MOZI)=HYOUZI$:MOZI=MOZI+1
  27. 360   WEND
  28. 370  CLOSE#1
  29. 380  DIM BUNKA$(71),KATU%(71),OWA%(71),BUNYA%(71):Z=1
  30. 390  OPEN "I",#1,"ZINBUTU.DAT"
  31. 400  WHILE EOF(1)=0
  32. 410   INPUT#1,BUNKA$,BUNYA,KATU,OWA
  33. 420   BUNKA$(Z)=BUNKA$:BUNYA%(Z)=BUNYA:KATU%(Z)=KATU:OWA%(Z)=OWA:Z=Z+1
  34. 430  WEND
  35. 440  CLOSE#1
  36. 450  LOAD@ "K.TIF",(0,0):DIM MOKUTEKI%(50),TEKI%(50)
  37. 460  DIM A1%(60),A2%(60),A3%(60),A4%(60),A5%(60),A6%(60),A7%(60),A8%(60),A9%(60),A10%(60),A11%(60),A12%(60),A13%(60),A14%(60)
  38. 470  GET@A (0,0)-(4,11),A1%:GET@A (5,0)-(9,11),A2%:GET@A (10,0)-(21,11),A3%:GET@A (22,0)-(33,11),A4%
  39. 480  GET@A (34,0)-(45,11),A5%:GET@A (46,0)-(57,11),A6%:GET@A (58,0)-(69,11),A7%:GET@A (70,0)-(81,11),A8%
  40. 490  GET@A (82,0)-(93,11),A9%:GET@A (94,0)-(105,11),A10%:GET@A (106,0)-(117,11),A11%:GET@A (118,0)-(129,11),A12%
  41. 500  GET@A (130,0)-(140,11),A13%:GET@A (141,0)-(153,11),A14%
  42. 510  LOAD@ "K1.TIF",(0,0)
  43. 520  DIM A15%(50),A16%(50)
  44. 530  GET@A (0,0)-(6,13),A15%:GET@A (7,0)-(13,13),A16%
  45. 540  CLS
  46. 550  COLOR 7,0,7,0
  47. 560  MOUSE 0
  48. 570  MOUSE 1,100,100,1
  49. 580  DIM A%(INT((INT((180+7)/8)*20+2-1)/2))
  50. 590  SYMBOL (240,120),"1.1331年8月 主上御謀反",1,1,7
  51. 600  SYMBOL (240,144),"2.1335年9月 中興破綻",1,1,7
  52. 610  SYMBOL (240,168),"3.1337年1月 一天両帝",1,1,7
  53. 620  SYMBOL (240,192),"4.1347年8月 正行挙兵",1,1,7
  54. 630  SYMBOL (240,216),"5.1353年1月 京都争奪戦",1,1,7
  55. 640  SYMBOL (240,240),"6.記録再生",1,1,7 
  56. 650  WHILE MOUSE(2,0)=0 : WEND
  57. 660  Y1=MOUSE(1)
  58. 670  Y2=FIX((Y1-120)/24)+1
  59. 680  GET@ (240,120+(Y2-1)*24)-(419,139+(Y2-1)*24),A%,7
  60. 690  PUT@ (240,120+(Y2-1)*24)-(419,139+(Y2-1)*24),A%,PSET,2:ERASE A%
  61. 700  IF Y2<=0 THEN 650 ELSE IF Y2>6 THEN 650
  62. 710  DIM SYO%(579)
  63. 720  ON Y2 GOTO *S1,*S2,*S3,*S4,*S5,*LOAD
  64. 730 *S1 :SNRO$="SINARIO1.DAT":SRS=17:NEN=1331:TUKI=8
  65. 740  FOR Q=0 TO 579:SYO%(Q)=S1%(Q):NEXT
  66. 750  FOR A=10 TO 63
  67. 760   SS%(A)=SI1%(A)
  68. 770  NEXT:GOTO *SENTAKU
  69. 780 *S2 :SNRO$="SINARIO2.DAT":SRS=27:NEN=1335:TUKI=9
  70. 790  FOR Q=0 TO 579:SYO%(Q)=S2%(Q):NEXT
  71. 800  FOR A=10 TO 63
  72. 810   SS%(A)=SI2%(A)
  73. 820  NEXT:GOTO *SENTAKU
  74. 830 *S3 :SNRO$="SINARIO3.DAT":SRS=31:NEN=1337:TUKI=1
  75. 840  FOR Q=0 TO 579:SYO%(Q)=S3%(Q):NEXT
  76. 850  FOR A=10 TO 63
  77. 860   SS%(A)=SI3%(A)
  78. 870  NEXT:GOTO *SENTAKU
  79. 880 *S4 :SNRO$="SINARIO4.DAT":SRS=31:NEN=1347:TUKI=8
  80. 890  FOR Q=0 TO 579:SYO%(Q)=S4%(Q):NEXT
  81. 900  FOR A=10 TO 63
  82. 910   SS%(A)=SI4%(A)
  83. 920  NEXT:NAMAE$(546)="後村上天皇":GOTO *SENTAKU
  84. 930 *S5 :SNRO$="SINARIO5.DAT":SRS=32:NEN=1353:TUKI=1
  85. 940  FOR Q=0 TO 579:SYO%(Q)=S5%(Q):NEXT
  86. 950  FOR A=10 TO 63
  87. 960   SS%(A)=SI5%(A)
  88. 970  NEXT:NAMAE$(546)="後村上天皇":NAMAE$(552)="後光厳天皇"
  89. 980 *SENTAKU
  90. 990  DIM R%(50),RT%(50),X1%(50),Y1%(50),BUGU%(50),PAT%(50),RK%(50),RH%(50),HE%(50),SK%(50),MIN%(50),KUG%(50),KOKU%(50)
  91. 1000  OPEN "I",1,SNRO$
  92. 1010  FOR A=1 TO SRS
  93. 1020   INPUT#1 ,R,RT,X,Y,PAT,BUGU,RK,RH,HE,SK,MIN,KUG,KOKU
  94. 1030   R%(A)=R:RT%(A)=RT:X1%(A)=X:Y1%(A)=Y:PAT%(A)=PAT:BUGU%(A)=BUGU:RK%(A)=RK*10:RH%(A)=RH:HE%(A)=HE:SK%(A)=SK:MIN%(A)=MIN:KUG%(A)=KUG:KOKU%(A)=KOKU
  95. 1040  NEXT
  96. 1050  CLOSE#1:SRS=A
  97. 1060  FOR Q=1 TO A
  98. 1070  IF Q<=6 THEN E=R%(Q):SYMBOL (26+(Q-1)*100,0),NAMAE$(E),1,1,%15
  99. 1080  IF Q<=12 THEN E=R%(Q):SYMBOL (26+(Q-7)*100,16),NAMAE$(E),1,1,%15
  100. 1090  IF Q<=18 THEN E=R%(Q):SYMBOL (26+(Q-13)*100,32),NAMAE$(E),1,1,%15
  101. 1100  IF Q<=24 THEN E=R%(Q):SYMBOL (26+(Q-19)*100,48),NAMAE$(E),1,1,%15
  102. 1110  IF Q<=30 THEN E=R%(Q):SYMBOL (26+(Q-25)*100,64),NAMAE$(E),1,1,%15
  103. 1120  IF Q<=36 THEN E=R%(Q):SYMBOL (26+(Q-31)*100,80),NAMAE$(E),1,1,%15
  104. 1130  IF Q<=42 THEN E=R%(Q):SYMBOL (26+(Q-37)*100,96),NAMAE$(E),1,1,%15
  105. 1140  NEXT
  106. 1150  SYMBOL (270,100),"どの人物にしますか",1,1,%15
  107. 1160  MOUSE 0:MOUSE 1,26,0,1:MOUSE 4,26,0,626,112
  108. 1170  IF MOUSE(2,0)=0 THEN 1170
  109. 1180  X1=FIX((MOUSE(0)-26)/100):Y1=FIX(MOUSE(1)/16):N=FIX(A/6)+1:M=A-N*6
  110. 1190  R=6*Y1+X1+1
  111. 1200  IF R>A THEN 1170
  112. 1210  LINE (270,360)-(639,392),PSET,%0,BF,%0:MOUSE 1,340,388,1
  113. 1220  IF R%(R)=0 THEN 1170
  114. 1230  PLAYR=R:SYMBOL (270,360),NAMAE$(R%(PLAYR))+"でよろしいですか",1,1,%15
  115. 1240  SYMBOL (300,376),"はい  いいえ",1,1,%15:MOUSE 4,300,376,396,392
  116. 1250  WHILE MOUSE(2,0)=0:WEND
  117. 1260  X1=MOUSE(0):Y1=MOUSE(1)
  118. 1270  IF Y1>=392 AND Y1<=375 AND X1<=299 AND X1>=396 THEN 1250
  119. 1280  IF X1>=332 AND X1<=348 THEN 1250
  120. 1290  IF X1<=332 THEN 1310 ELSE LINE (270,360)-(639,392),PSET,%0,BF,%0
  121. 1300  SYMBOL (270,360),"もう一度選んでください",1,1,%15:WAIT 100:GOTO 1160
  122. 1310  OPEN "O",#1,"SYO.DAT":OPEN "O",#2,"JOUKYOU.DAT"
  123. 1320  FOR Q=0 TO 579
  124. 1330   SYO=SYO%(Q)
  125. 1340   WRITE #1,SYO
  126. 1350  NEXT
  127. 1360  CLOSE#1,#2
  128. 1370  FOR Q=0 TO 50:MOKUTEKI%(Q)=-1:TEKI%(Q)=0:NEXT
  129. 1380  CLS:PRINT "準備はととのいました・左クリックで始まります"
  130. 1390  WHILE MOUSE(2,0)=0 : WEND:CLS:SCREEN@ 0:DIM Q%(41000)
  131. 1400  VIEW (0,0)-(1023,511)
  132. 1410  LOAD@ "MM2.TIF",(640,0)
  133. 1420  GET@A (640,0)-(1019,139),Q%:PUT@A (450,0)-(829,139),Q%,PSET,1/2,1/2
  134. 1430  MOUSE 0:ERASE Q%:X1=800:Y1=70
  135. 1440  MOUSE 4,0,0,639,479:TOUITU=0:SYUU=1:ZK=4
  136. 1450  GOSUB *NANKA:LOCATE 48,4:PRINT NEN$+TUKI$+SYUU$
  137. 1460  GOSUB *MOZI_HYOUZI
  138. 1470  *TAIHEIKI
  139. 1480  GOSUB *NANKA:LOCATE 48,4:PRINT NEN$+TUKI$+SYUU$
  140. 1490  GOSUB *HYOUZI
  141. 1500  GOSUB *MAIN:SYUU=SYUU+1:TOUITU=0
  142. 1510  IF SYUU=5 THEN SYUU=1:TUKI=TUKI+1:GOSUB *BUSYOU
  143. 1520  IF TUKI=13 THEN TUKI=1:NEN=NEN+1
  144. 1530  FOR O=1 TO SRS
  145. 1540   IF BUGU%(O)=BUGU%(PLAYR) THEN TOUITU=TOUITU+1
  146. 1550   IF BUGU%(O)=-1 THEN TOUITU=TOUITU+1
  147. 1560  NEXT
  148. 1570  IF TOUITU=SRS THEN *ENDING ELSE *TAIHEIKI
  149. 1580 *MAIN:RANDOMIZE TIME:SYUTUZIN_ZYUNBI=0
  150. 1590  RD=FIX(RND*10)
  151. 1600  FOR A=1 TO SRS:R=R%(A):LOCATE 0,18:PRINT "思考中"+NAMAE$(R%(A))+"  "
  152. 1610   IF A=PLAYR THEN GOSUB *USER
  153. 1620   IF A=PLAYR THEN 1720
  154. 1630   IF HE%(A)<=0 THEN PAT%(A)=-1:BUGU%(A)=-1
  155. 1640   IF PAT%(A)=-1 THEN 1720
  156. 1650   IF PAT%(A)>=3 AND PAT%(A)<=9 THEN 1720
  157. 1660   IF RT%(A)=-1 THEN GOSUB *YASAGASI
  158. 1670   IF PAT%(A)=0 THEN SIREI=0:GUNBI=0:GOSUB *SIRO_TOSI
  159. 1680   IF PAT%(A)=1 THEN 1720
  160. 1690   IF PAT%(A)=13 THEN SIREI=0:GUNBI=0:GOSUB *TERA 
  161. 1700   IF PAT%(A)>=20 THEN 1720
  162. 1710   IF MOKUTEKI%(A)=0 THEN MOKUTEKI%(A)=-1
  163. 1720  NEXT:RETURN
  164. 1730 *SIRO_TOSI:SYUTUZIN=0
  165. 1740  GOSUB *TEKI_TYOUSA
  166. 1750  SIREI=BSN%(A)*RD-BSZ%(A)*5+GUNBI
  167. 1760  IF SIREI<-2 THEN GOSUB *NAISEI2
  168. 1770  IF SIREI<=3 AND SIREI>=-2THEN GOSUB *NAISEI1
  169. 1780  IF SIREI<=8 AND SIREI>3 THEN GOSUB *GAIKOU
  170. 1790  IF SIREI>8  THEN GOSUB *GUNZI
  171. 1800 RETURN
  172. 1810  *GUNZISA
  173. 1820   HEISISA=(HE%(S)*SK%(S)*7\6-HE%(A)*SK%(A))\100+1:GUNBI=GUNBI+5
  174. 1830   IF HEISISA>0 THEN GUNBI=GUNBI+13
  175. 1840   IF HEISISA<0 THEN SYUTUZIN=SYUTUZIN+3
  176. 1850   TEKI%(S)=S
  177. 1860  RETURN
  178. 1870  *GUNZI
  179. 1880   SYUTUZIN=SYUTUZIN+(HE%(A)*SK%(A)\200000)-BSN%(A)-RD+BB%(A)*2-GUNBI
  180. 1890   IF SYUTUZIN<-1 THEN GOSUB *TYOHEI
  181. 1900   IF SYUTUZIN<=6 AND SYUTUZIN>=-1 THEN RD1=RD\5+1:ON RD1 GOSUB *TYOHEI,*KUNREN
  182. 1910   IF SYUTUZIN<=8 AND SYUTUZIN>6 THEN GOSUB *KUNREN
  183. 1920   IF SYUTUZIN>8 THEN SYUTU=A:GOSUB *SYUTU_A
  184. 1930  RETURN
  185. 1940   *TYOHEI:BZ_A=6-BZ%(R%(A))
  186. 1950    TYOHEISU=(TK%(RT%(A))+1)*50
  187. 1960    MIN_B=MIN%(A)-TYOHEISU\100-BZ_A:MIN_C=MIN_B-BSZ%(R%(A))*3
  188. 1970    IF MIN_C<=10 THEN TYOHEISU=TYOHEISU-100:GOTO 1960
  189. 1980    IF TYOHEISU<=0 OR HE%(A)>30000 THEN *KUNREN
  190. 1990    SKA=SK%(A)-(HE%(A)+TYOHEISU)\HE%(A)*(10-BT%(R%(A))):SKB=SKA-BSN%(R%(A))*3
  191. 2000    IF SKB<=10 THEN TYOHEISU=TYOHEISU-100:GOTO 1960
  192. 2010    MIN%(A)=MIN_B:HE%(A)=HE%(A)+TYOHEISU:SK%(A)=SKA
  193. 2020   RETURN
  194. 2030   *KUNREN
  195. 2040    IF SK%(A)>=90 THEN *GAIKOU 
  196. 2050    IF PAT%(A)=13 THEN SK_A=20-HE%(A)\5000:SK_B=SK%(A)+SK_A:GOTO 2070
  197. 2060    SK_A=30-HE%(A)\1000+BT%(R%(A))+RD:SK_B=SK%(A)+SK_A
  198. 2070    IF SK_B>=101 THEN SK%(A)=100 ELSE SK%(A)=SK_B
  199. 2080   RETURN
  200. 2090   *SYUTU_A:BUKA=0:RHHE=RH%(SYUTU)*(RD\3+1)-HE%(SYUTU):SYUTU_ZYUNBI=1
  201. 2100    GUNBI1=GUNBI-RD\3
  202. 2110    IF RHHE<0 THEN GOSUB *KOUKAN
  203. 2120    IF MOKUTEKI%(SYUTU)<>-1 THEN 2150
  204. 2130    IF GUNBI1>=8 THEN *GAIKOU 
  205. 2140    IF MOKUTEKI%(SYUTU)=-1 THEN GOSUB *MOKUTEKITI
  206. 2150    IF MOKUTEKI%(SYUTU)<>-1 THEN GOSUB *SYUTU_B
  207. 2160   RETURN
  208. 2170    *SYUTU_B:L=MOKUTEKI%(SYUTU)
  209. 2180     IF L=-1 THEN RETURN
  210. 2190     IF L>=1000 THEN GOSUB *SYUTU_C
  211. 2200     KAKUDO_X=X1%(SYUTU)-X1%(L):KAKUDO_Y=Y1%(SYUTU)-Y1%(L)
  212. 2210     KAKUDO_XY=ABS(X1%(SYUTU)-X1%(L))-ABS(Y1%(SYUTU)-Y1%(L))
  213. 2220     IF KAKUDO_XY>=0 AND KAKUDO_X>=0 THEN PAT%(SYUTU)=9
  214. 2230     IF KAKUDO_XY>=0 AND KAKUDO_X<0 THEN PAT%(SYUTU)=5
  215. 2240     IF KAKUDO_XY<=0 AND KAKUDO_Y>=0 THEN PAT%(SYUTU)=3
  216. 2250     IF KAKUDO_XY<=0 AND KAKUDO_Y<0 THEN PAT%(SYUTU)=7
  217. 2260    RETURN
  218. 2270    *SYUTU_C
  219. 2280     IF L>=2000 THEN L=L-2000:RETURN ELSE L=L-1000
  220. 2290     KAKUDO_X=X1%(SYUTU)-TX%(L):KAKUDO_Y=Y1%(SYUTU)-TY%(L)
  221. 2300     KAKUDO_XY=ABS(X1%(SYUTU)-TX%(L))-ABS(Y1%(SYUTU)-TY%(L))
  222. 2310    RETURN 2220
  223. 2320  *NAISEI1
  224. 2330   P=RD+BSZ%(R%(A)):O=RT%(A)
  225. 2340   IF P<7 THEN *TYOHEI
  226. 2350   IF P=7 OR P=8 THEN IF SK%(A)<90 THEN *KUNREN
  227. 2360   IF RH%(A)>=RK%(A) THEN L=RH%(A)\(15-BSZ%(R%(A)))+RH%(A)\100:RH%(A)=RH%(A)-L:P=0 ELSE L=RK%(A)\(15-BSZ%(R%(A)))+RK%(A)\100:RK%(A)=RK%(A)-L:P=-2
  228. 2370   MIN%(A)=MIN%(A)+L\((MIN%(A)+RD+1)*(9-BZ%(R%(A))+P)*(1+TK%(O)))
  229. 2380   IF MIN%(A)>=100 THN MIN%(A)=100
  230. 2390  RETURN
  231. 2400  *NAISEI2:O=0:BUKA=0
  232. 2410   FOR L=0 TO 579: P=SYO%(L)-3000
  233. 2420    IF P>0 AND P=R%(A) THEN O=O+1:GOSUB *HORYO
  234. 2430    P=SYO%(L):IF P=R%(A) THEN BUKA=BUKA+1
  235. 2440   NEXT
  236. 2450   IF O>=1 THEN RETURN
  237. 2460   IF BUKA=1 THEN BUSYO=A:GOTO *ZINZAI
  238. 2470   O=RT%(A):I=0:FOR L=0 TO 579
  239. 2480    IF I=>1 THEN RETURN
  240. 2490    P=SYO%(L)-2000:IF P>0 AND P=O THEN I=I+1:GOSUB *ENKAI
  241. 2500   NEXT
  242. 2510   IF I>=1 THEN RETURN ELSE *NAISEI1
  243. 2520   *KOUKAN
  244. 2530    L=RK%(A)\10+RK%(A)\100:RK%(A)=RK%(A)-L
  245. 2540    RH%(A)=RH%(A)+L*2\3
  246. 2550   RETURN
  247. 2560   *HORYO:P=BC%(A)+RD\4-BZ%(L)
  248. 2570    IF P>0 THEN SYO%(L)=A
  249. 2580    IF P=0 OR P=-1 THEN SYO%(L)=2000+RT%(A)
  250. 2590    IF P<=-2 THEN SYO%(L)=0
  251. 2600   RETURN
  252. 2610   *ENKAI
  253. 2620    L=RK%(A)\20+RK%(A)\100:RK%(A)=RK%(A)-L
  254. 2630    KUG%(A)=KUG%(A)+BZ%(R%(A))-1:IF KUG%(A)>100 THEN KUG%(A)=100
  255. 2640    SIZI=KUG%(A)+KOKU%(A)
  256. 2650    IF SIZI>150 THEN KOKU%(A)=KOKU%(A)-1:GOTO 2640
  257. 2660   RETURN
  258. 2670   *ZINZAI:KINK=0:BUKA=0
  259. 2680    FOR L=1 TO SRS
  260. 2690      IF BUSYO<>L AND BUGU%(BUSYO)=BUGU%(L) THEN KYO=FIX(SQR((X1%(BUSYO)-X1%(L))^2+(Y1%(BUSYO)-Y1%(L))^2)) ELSE 2710
  261. 2700      IF KINK>KYO OR KINK=0 THEN KINK=KYO:P=L
  262. 2710    NEXT:IF P=PLAYR THEN COM=BUSYO:GOTO *COM_ZINZAIYOUKYU
  263. 2720    FOR L=0 TO 579
  264. 2730     IF R%(P)=SYO%(L) THEN BUKA=BUKA+1
  265. 2740    NEXT
  266. 2750    IF BUKA<=3 THEN RETURN 
  267. 2760    FOR L=0 TO 579
  268. 2770     IF R%(P)=SYO%(L) THEN SYO%(L)=BUSYO:RETURN
  269. 2780    NEXT
  270. 2790   *GAIKOU:KINK=0:KAIDAN=0
  271. 2800    IF GUNBI>=5 THEN GOSUB *KAIDAN
  272. 2810    IF KAIDAN=1 THEN RETURN 
  273. 2820    FOR L=1 TO SRS
  274. 2830      IF A<>L AND BUGU%(A)<>BUGU%(L) THEN KYO=FIX(SQR((X1%(A)-X1%(L))^2+(Y1%(A)-Y1%(L))^2))
  275. 2840      IF KINK>KYO OR KINK=0 THEN KINK=KYO:P=L
  276. 2850    NEXT
  277. 2860    HEA=HE%(A):SKA=SK%(A):HEP=HE%(P):SKP=SK%(P)
  278. 2870    L!=HEP*SKP*(BC%(R%(P))*3+1+RD\2)-HEA*SKA
  279. 2880    L1!=HEA*SKA*(BC%(R%(A))*50+1+RD\2)-HEP*SKP
  280. 2890    IF L!<0 AND P<>PLAYR THEN *KANKOKU
  281. 2900    IF L!<0 AND P=PLAYR THEN COM=A:GOTO *COM_KANKOKU
  282. 2910    IF L1!<0 THEN *KIJUN ELSE *MOTENASI
  283. 2920     *KAIDAN:KAIDAN=1
  284. 2930      FOR L=1 TO SRS
  285. 2940        IF A<>L AND BUGU%(A)=BUGU%(L) THEN KYO=FIX(SQR((X1%(A)-X1%(L))^2+(Y1%(A)-Y1%(L))^2)) ELSE 2960
  286. 2950        IF KINK>KYO OR KINK=0 THEN KINK=KYO:ENGUN=L
  287. 2960      NEXT
  288. 2970      IF MOKUTEKI%(ENGUN)<>-1 THEN RETURN
  289. 2980      FOR L=1 TO SRS
  290. 2990        IF TEKI%(L)<>0 THEN KYO=FIX(SQR((X1%(A)-X1%(L))^2+(Y1%(A)-Y1%(L))^2)) ELSE 3010
  291. 3000        IF KINK>KYO OR KINK=0 THEN KINK=KYO:OOO=L
  292. 3010      NEXT
  293. 3020      IF ENGUN=PLAYR THEN *COM_KAIDAN
  294. 3030      HEO=HE%(OOO):SKO=SK%(OOO):BSNP=BSN%(R%(ENGUN)):HEA=HE%(A):SKA=SK%(A):HEP=HE%(ENGUN):SKP=SK%(ENGUN)
  295. 3040      L=HEO*SKO*BSNP-HEA*SKA-HEP*SKP
  296. 3050      KYO=FIX(SQR((X1%(ENGUN)-X1%(OOO))^2+(Y1%(ENGUN)-Y1%(OOO))^2))
  297. 3060      RH!=RH%(OOO)/(HE%(OOO)+1):RH=FIX(RH!*50):KYO=KYO*2-RH\2-BZ%(R%(A))
  298. 3070      IF L<0 THEN RETURN 
  299. 3080      IF KYO>=-3 THEN RETURN
  300. 3090      MOKUTEKI%(A)=OOO:SYUTU=A:GOSUB *SYUTU_A
  301. 3100      IF MOKUTEKI%(A)=-1 THEN 3140
  302. 3110      IF ENGUN=PLAYR THEN COM=A:GOTO *COM_KAIDAN
  303. 3120      MOKUTEKI%(ENGUN)=OOO:SYUTU=ENGUN:GOSUB *SYUTU_A
  304. 3130      IF MOKUTEKI%(ENGUN)=-1 THEN MOKUTEKI%(A)=-1
  305. 3140     RETURN
  306. 3150     *KANKOKU:IF BC%(R%(P))=0 OR BC%(R%(P))=5 THEN RETURN
  307. 3160      L=BZ%(R%(A))+RD-BC%(R%(P)):K=RT%(P)
  308. 3170      IF L>=9 AND L1<0 THEN BUGU%(P)=BUGU%(A):L=RT%(A) ELSE RETURN
  309. 3180      IF (PAT%(P)=0 OR PAT%(P)=13) AND (SS%(K)=2 OR SS%(K)=1) THEN SS%(K)=SS%(L):RETURN
  310. 3190      FOR O=1 TO SRS
  311. 3200       IF PAT%(O)=0 AND RT%(O)=K THEN RT%(P)=-1:KOKU%(P)=1:RETURN
  312. 3210      NEXT
  313. 3220     RETURN
  314. 3230     *KIJUN:IF BC%(R%(A))=0 OR BC%(R%(A))=5 THEN RETURN
  315. 3240      L=BZ%(R%(P))-RD+BC%(R%(A)):K=RT%(P)
  316. 3250      IF L>=5  THEN BUGU%(A)=BUGU%(P):L=RT%(A) ELSE RETURN
  317. 3260      IF (PAT%(A)=0 OR PAT%(A)=13) AND (SS%(L)=2 OR SS%(L)=1) THEN SS%(L)=SS%(K):RETURN
  318. 3270      FOR O=1 TO SRS
  319. 3280       IF PAT%(O)=0 AND RT%(O)=L THEN RT%(A)=-1:KOKU%(A)=1:RETURN
  320. 3290      NEXT
  321. 3300     RETURN
  322. 3310     *MOTENASI
  323. 3320      L=RK%(A)\15:KOKU%(A)=KOKU%(A)+BZ%(R%(A))
  324. 3330      IF KOKU%(A)>100 THEN KOKU%(A)=100
  325. 3340      SISI=KUG%(A)+KOKU%(A)
  326. 3350      IF SIZI>150 THEN KUG%(A)=KUA%(A)-1:GOTO 3340
  327. 3360     RETURN
  328. 3370 *TERA:SYUTUZIN=0
  329. 3380  GOSUB *TEKI_TYOUSA
  330. 3390  SIREI=BSN%(R%(A))*RD-BSZ%(R%(A))*5+GUNBI:L=RD\5+1
  331. 3400  IF SIREI<-2 THEN ON L GOSUB *TERA_TYOUTATU,*TERA_HUKKOU
  332. 3410  IF SIREI<=3 AND SIREI>=-2 THEN GOSUB *NAISEI2
  333. 3420  IF SIREI<=8 AND SIREI>3 THEN GOSUB *GAIKOU
  334. 3430  IF SIREI>8  THEN GOSUB *GUNZI
  335. 3440 RETURN
  336. 3450   *TERA_TYOUTATU
  337. 3460    L=MIN%(A)\10*BSZ%(R%(A))*10*(RD\3+1)
  338. 3470    IF RH%(A)>30000 THEN RH%(A)=30000
  339. 3480    L1=MIN%(A)-(6-BZ%(R%(A)))*L\100-1:L2=L1-BZ%(A)*3
  340. 3490    IF L2<=0 THEN L=L-200:GOTO 780
  341. 3500    IF L<=50 THEN SIREI=0:RETURN
  342. 3510    MIN%(A)=L1:RH%(A)=RH%(A)+L:RETURN
  343. 3520   *TERA_HUKKOU:O=RT%(A)
  344. 3530    IF RH%(A)>=RK%(A) THEN L=RH%(A)\(15-BSZ%(R%(A)))+RH%(A)\100:RH%(A)=RH%(A)-L:P=0 ELSE L=RK%(A)\(15-BSZ%(R%(A)))+RK%(A)\100:RK%(A)=RK%(A)-L:P=-2
  345. 3540    MIN%(A)=MIN%(A)+L\(MIN%(A)+RD)\(9-BZ%(R%(A))+P)\TS%(O)
  346. 3550    IF MIN%(A)>=100 THN MIN%(A)=100
  347. 3560   RETURN
  348. 3570 *ZIN:IF A=PLAYR THEN *USER
  349. 3580  GOSUB *TEKI_TYOUSA
  350. 3590  IF RT%(A)=-1 THEN GOSUB *YASAGASI
  351. 3600  SIREI=BSN%(R%(A))*RD-BSZ%(R%(A))*5+GUNBI
  352. 3610  IF SIREI<=0 THEN GOSUB *ZIN_NAISEI
  353. 3620  IF SIREI<=10 AND SIREI>0 THEN GOSUB *GAIKOU
  354. 3630  IF SIREI>10  THEN GOSUB *ZIN_GUNZI
  355. 3640  RH%(A)=RH%(A)-HE%(A)\65:RETURN
  356. 3650  *ZIN_GUNZI
  357. 3660   IF HE%(A)<=500 THEN *IDO
  358. 3670   GOSUB *YOUSUMI
  359. 3680  RETURN
  360. 3690  *ZIN_NAISEI
  361. 3700   L=(RH%(A)*(15-BSN%(R%(A)))\HE%(A))
  362. 3710   IF L>=2 THEN *ZIN_SIKI
  363. 3720   IF L<=0 THEN *IDO
  364. 3730   L=BSZ%(A)+RD
  365. 3740   IF MIN%(A)<=5 THEN *IDO 
  366. 3750   IF L>=8 THEN P=(BSZ%(R%(A))+BZ%(R%(A)))*10*(RD\3+1):MIN%(A)=MIN%(A)-1 ELSE P=BB%(R%(A))*(RD\4+1)*50:MIN%(A)=MIN%(A)-(10-BZ%(R%(A)))*2
  367. 3760   RH%(A)=RH%(A)+P:IF RH%(A)>30000 THEN RH%(A)=30000 
  368. 3770   IF MIN%(A)<0 THEN MIN%(A)=0 
  369. 3780  RETURN
  370. 3790    *ZIN_SIKI:P=RH%(A)\(2+L):SK_A=30-HE%(A)\P+BT%(R%(A))-RD
  371. 3800     IF SK%(A)>=100 THEN RETURN
  372. 3810     IF SK_A<=0 THEN RETURN
  373. 3820     SK_B=SK%(A)+SK_A
  374. 3830     IF SK_B>=101 THEN SK%(A)=100 ELSE SK%(A)=SK_B
  375. 3840     RH%(A)=RH%(A)-P
  376. 3850    RETURN
  377. 3860    *YOUSUMI
  378. 3870     IF GUNBI=5 THEN 3910 
  379. 3880     IF GUNBI>=13 THEN *IDO
  380. 3890     IF MOKUTEKI%(A)=-1 THEN GOSUB *GAIKOU
  381. 3900     IF MOKUTEKI%(A)=-1 THEN RETURN ELSE SYUTU=A:GOTO *SYUTU_B
  382. 3910     FOR P=1 TO SRS
  383. 3920       IF TEKI%(P)<>0 THEN O=P
  384. 3930     NEXT
  385. 3940     IF MOKUTEKI%(A)=O THEN SYUTU=A:GOTO *SYUTU_B ELSE *GAIKOU
  386. 3950 *IDO:T=SK%(A)-BSN%(R%(A))*3:L=(RH%(A)*(15-BSN%(R%(A)))\HE%(A)):TEKI_A=0:IF A=PLAYR THEN 4100
  387. 3960  GOSUB *TEKI_TYOUSAIDO
  388. 3970  IF RT%(A)=-1 THEN GOSUB *YASAGASI
  389. 3980  IF SK%(A)<0 THEN HE%(A)=HE%(A)-HE%(A)\100:PAT%(A)=1:RETURN
  390. 3990  IF HE%(A)<=200 THEN MOKUTEKI%(A)=RT%(A)+1000
  391. 4000  IF MIN%(A)<=5 OR SK%(A)<=10 THEN MOKUTEKI%(A)=RT%(A)+1000
  392. 4010  IF L<=0 THEN MOKUTEKI%(A)=RT%(A)+1000
  393. 4020  IF TEKI_A>=4 THEN MOKUTEKI%(A)=RT%(A)+1000
  394. 4030  IF MOKUTEKI%(A)>=1000 THEN 4090 
  395. 4040  IF T<=20 THEN PAT%(A)=1:RETURN
  396. 4050  IF TEKI_A>=3 THEN PAT%(A)=1:RETURN
  397. 4060  IF L<=3 THEN PAT%(A)=1:RETURN
  398. 4070  IF MOKUTEKI%(A)=-1 THEN PAT%(A)=1:GOTO 4100
  399. 4080  IF MOKUTEKI%(A)=999 THEN GOSUB *GOURYU_B:GOTO 4090
  400. 4090  SYUTU=A:GOSUB *SYUTU_B
  401. 4100  RH%(A)=RH%(A)-HE%(A)\50:SK%(A)=SK%(A)-1
  402. 4110  IF A=PLAYR THEN SUUZI=RH%(A):GOSUB *KANSUZI:LOCATE 60,8:PRINT KANZI$+"   "
  403. 4120  IF A=PLAYR THEN SUUZI=SK%(A):GOSUB *KANSUZI:LOCATE 60,14:PRINT KANZI$+"   "
  404. 4130  IF A=PLAYR AND MOUSE(2,1)=-1 THEN *USER
  405. 4140 RETURN
  406. 4150  *IKUSA:TEKI=0:MIKATA=0:O=MOKUTEKI%(A):BB1=0:BB2=0:I=0:I1=0
  407. 4160   IF SK%(A)<0 THEN SK%(A)=0:GOTO*IDO
  408. 4170   IF MOKUTEKI%(A)=-1 THEN *IDO
  409. 4180   IF MOKUTEKI%(A)>=1000 THEN *IDO
  410. 4190   FOR L=1 TO SRS
  411. 4200    IF MOKUTEKI%(L)=A AND PAT%(L)>=20 THEN TEKI=TEKI+HE%(L)*(SK%(L)+1):BB1=BB1+BB%(R%(L)):I=I+1
  412. 4210    IF MOKUTEKI%(L)=O AND PAT%(L)>=20 THEN MIKATA=MIKATA+HE%(L)*(SK%(L)+1):BB2=BB2+BB%(R%(L)):I1=I1+1
  413. 4220   NEXT
  414. 4230   IF I=0 THEN SYUTU=A:GOSUB *SYUTU_B:RETURN
  415. 4240   IF I1=0 THEN SYUTU=O:GOSUB *SYUTU_B:RETURN
  416. 4250   IF O=PLAYR OR A=PLAYR THEN GOSUB *COM_KASSEN
  417. 4260   LOCATE 0,17:PRINT NAMAE$(R%(A))+"軍と"+NAMAE$(R%(O))+"軍 交戦中   "
  418. 4270   IF PAT%(A)=20 THEN HIGA=4
  419. 4280   IF PAT%(A)=21 THEN HIGA=0
  420. 4290   IF PAT%(A)=22 THEN HIGA=KOKU%(A)\5+2:IF RT%(A)=40 THEN HIGA=0
  421. 4300   IF PAT%(A)=23 THEN HIGA=9
  422. 4310   IF PAT%(O)=20 THEN HIGA1=4
  423. 4320   IF PAT%(O)=21 THEN HIGA1=0
  424. 4330   IF PAT%(O)=22 THEN HIGA1=KOKU%(O)\5+2:IF RT%(O)=40 THEN HIGA1=0
  425. 4340   IF PAT%(O)=23 THEN HIGA1=9
  426. 4350   BB1=(BB2+HIGA1*I1+MIKATA\100000)\I:BB2=(BB1+HIGA*I+TEKI\100000)\I1
  427. 4360   L=(BT%(R%(A))+(MIKATA-TEKI)\500000)\I:L1=(BT%(R%(O))+(TEKI-MIKATA)\500000)\I1
  428. 4370   HE%(A)=HE%(A)-BB1*10-1:SK%(A)=SK%(A)-L
  429. 4380   HE%(O)=HE%(O)-BB2*10-1:SK%(O)=SK%(O)-L1
  430. 4390   IF HE%(A)<=0 OR SK%(A)<=10 THEN SYUTU=A:GOSUB *HAISEN
  431. 4400     IF HE%(A)<=0 THEN MOKUTEKI%(O)=RT%(A)+1000
  432. 4410   IF HE%(O)<=0 OR SK%(O)<=10 THEN SYUTU=O:GOSUB *HAISEN
  433. 4420     IF HE%(O)<=0 THEN MOKUTEKI%(A)=RT%(A)+1000
  434. 4430   IF MOKUTEKI%(O)>=999 THEN SYUTU=O:GOSUB *HYOUZI_IDOB
  435. 4440   IF MOKUTEKI%(A)>=999 THEN SYUTU=A:GOSUB *HYOUZI_IDOB
  436. 4450   IF SK%(A)>100 THEN SK%(A)=100
  437. 4460   IF SK%(O)>100 THEN SK%(O)=100
  438. 4470   IF PAT%(O)=22 THEN MOKUTEKI%(O)=-1 ELSE 4490
  439. 4480    IF SS%(RT%(O))=4 THEN PAT%(O)=13 ELSE PAT%(O)=0
  440. 4490   IF PAT%(A)=22 THEN MOKUTEKI%(A)=-1 ELSE 4510
  441. 4500    IF SS%(RT%(A))=4 THEN PAT%(A)=13 ELSE PAT%(A)=0
  442. 4510   RH%(A)=RH%(A)-HE%(A)\40:SK%(A)=SK%(A)-1
  443. 4520   RH%(O)=RH%(O)-HE%(O)\40:SK%(O)=SK%(O)-1
  444. 4530  RETURN
  445. 4540   *HAISEN
  446. 4550    IF HE%(SYUTU)<=0 THEN *ZENMETU
  447. 4560    IF PAT%(SYUTU)=20 OR PAT%(SYUTU)=21 THEN *TAIKYAKU
  448. 4570    IF PAT%(SYUTU)=23 THEN *TAIKYAKU
  449. 4580    IF PAT%(SYUTU)=22 AND SK%(SYUTU)<-6 THEN *HAISOU
  450. 4590    HE%(SYUTU)=HE%(SYUTU)-HE%(SYUTU)\20:IF SK%(SYUTU)<0 THEN SK%(SYUTU)=0:RETURN
  451. 4600   *TAIKYAKU:IF SYUTU=PLAYR THEN *USER_TAIKYAKU
  452. 4610    IF HE%(SYUTU)<=0 THEN *ZENMETU
  453. 4620    MOKUTEKI%(SYUTU)=RT%(SYUTU)+1000
  454. 4630    IF SK%(SYUTU)<0 THEN SK%(SYUTU)=0
  455. 4640   RETURN
  456. 4650   *HAISOU:IF SYUTU=PLAYR THEN *USER_HAISEN
  457. 4660    RT%(SYUTU)=-1:SK%(SYUTU)=0:MIN%(SYUTU)=MIN%(SYUTU)\2:KOKU%(SYUTU)=KOKU%(SYUTU)\2
  458. 4670    IF SK%(SYUTU)<0 THEN SK%(SYUTU)=0
  459. 4680    GOSUB *YASAGASI
  460. 4690    IF RT%(SYUTU)=-1 THEN GOSUB *GOURYU_B
  461. 4700   RETURN
  462. 4710   *ZENMETU:IF SYUTU=PLAYR THEN *USER_ZENMETU
  463. 4720    X1%(SYUTU)=-1:Y1%(SYUTU)=-1:PAT%(SYUTU)=-1:BUGU%(SYUTU)=-1:MIN%(SYUTU)=-1:KUG%(SYUTU)=-1:KOKU%(SYUTU)=-1
  464. 4730    FOR M=0 TO 579
  465. 4740     IF SYO%(M)=R%(SYUTU) AND MOKUTEKI%(A)=SYUTU THEN SYO%(M)=R%(A)+3000
  466. 4750     IF SYO%(M)=R%(SYUTU) AND MOKUTEKI%(O)=SYUTU THEN SYO%(M)=R%(O)+3000
  467. 4760    NEXT
  468. 4770    IF SS%(RT%(SYUTU))=2 OR SS%(RT%(SYUTU))=1 TEHN SS%(RT%(SYUTU))=0
  469. 4780    FOR I=1 TO 3:BEEP 1:WAIT 50:BEEP 0:WAIT 40:NEXT
  470. 4790    LOCATE 0,20:PRINT NAMAE$(R%(SYUTU))+"軍は全滅しました         "
  471. 4800   RETURN
  472. 4810    *MOKUTEKITI:TEKI_A=0:TEKI_B=0:KINK=0
  473. 4820     FOR L=1 TO SRS
  474. 4830      IF TEKI%(L)<>0 THEN TEKI_A=TEKI_A+1
  475. 4840     NEXT
  476. 4850     IF TEKI_A>=1 THEN 4900 
  477. 4860       FOR L=1 TO SRS
  478. 4870         IF A<>L AND BUGU%(A)<>BUGU%(L) THEN KYO=FIX(SQR((X1%(A)-X1%(L))^2+(Y1%(A)-Y1%(L))^2)) ELSE 4890
  479. 4880         IF KINK>KYO OR KINK=0 THEN KINK=KYO:TEKI_B=L
  480. 4890       NEXT
  481. 4900     WHILE P_T=0
  482. 4910       FOR L=1 TO SRS
  483. 4920        IF TEKI%(L)<>0 OR L=TEKI_B THEN P_T=L
  484. 4930       NEXT
  485. 4940     WEND
  486. 4950     MOKUTEKI%(A)=P_T:RETURN
  487. 4960     *GOURYU:L=MOKUTEKI%(A)
  488. 4970      IF L>=2000 THEN L=L-2000
  489. 4980      IF L<1064 AND L>1000 THEN L=L-1000:GOTO *GOURYU_A
  490. 4990      IF L=PLAYR THEN COM=A:GOTO *COM_GOURYU
  491. 5000      FOR O=0 TO 579
  492. 5010       IF SYO%(O)=R%(A) THEN SYO%(O)=R%(L)
  493. 5020      NEXT
  494. 5030      RK!=RK%(A)+RK%(L):RH!=RH%(A)+RH%(L)
  495. 5040     IF RK!>30000 THEN RK%(L)=30000 ELSE RK%(L)=RK!
  496. 5050     IF RH!>30000 THEN RH%(L)=30000 ELSE RH%(L)=RH!
  497. 5060     SK%(L)=(HE%(A)*SK%(A)+HE%(L)*SK%(L))\(HE%(A)+HE%(L))
  498. 5070     HE!=HE%(A)+HE%(L)
  499. 5080     IF HE!>30000 THEN HE%(L)=30000 ELSE HE%(L)=HE!
  500. 5090    R%(A)=-1:RT%(A)=-1:X1%(A)=-1:Y1%(A)=-1:PAT%(A)=-1:BUGU%(A)=-1:MIN%(A)=-1:KUG%(A)=-1:KOKU%(A)=-1:MOKUTEKI%(A)=-1
  501. 5100    RETURN
  502. 5110    *GOURYU_A
  503. 5120     IF RT%(A)=-1 THEN RT%(A)=L
  504. 5130     MOKUTEKI%(A)=-1:X1%(A)=TX%(L):Y1%(A)=TY%(L)
  505. 5140     IF SS%(RT%(A))=4 THEN PAT%(A)=13:RETURN 
  506. 5150     IF SS%(RT%(A))=3 THEN PAT%(A)=0:RETURN 
  507. 5160     PAT%(A)=0:SS%(RT%(A))=2-BUGU%(A)
  508. 5170    RETURN 
  509. 5180    *GOURYU_B:KINK=0
  510. 5190      FOR L=1 TO SRS
  511. 5200       IF A<>L AND BUGU%(A)=BUGU%(L) THEN KYO=FIX(SQR((X1%(A)-X1%(L))^2+(Y1%(A)-Y1%(L))^2)) ELSE 5220
  512. 5210       IF KINK>KYO OR KINK=0 THEN KINK=KYO:MOKUTEKI%(A)=L+2000
  513. 5220      NEXT
  514. 5230     RETURN
  515. 5240 *HYOUZI:ZX=45:ZY=38:ZK=4
  516. 5250 FOR HYO=1 TO 8
  517. 5260  GET@A (X1-ZX,Y1-ZY)-(X1+ZX-1,Y1+ZY-1),HYOUZI%
  518. 5270  PUT@A (640,140)-(640+ZX*2-1,140+ZY*2-1),HYOUZI%,PSET,ZK,ZK
  519. 5280  FOR A=10 TO 63
  520. 5290   TX=TX%(A)+640:TY=TY%(A):Q=SS%(A)
  521. 5300   IF X1-ZX>TX OR X1+ZY-2<TX THEN 5400
  522. 5310   IF Y1-ZX>TY OR Y1+ZY-2<TY THEN 5400
  523. 5320   IF Q=0 THEN 5400
  524. 5330   IF Q=2 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A11%,MATTE,1,1,%15
  525. 5340   IF Q=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A12%,MATTE,1,1,%15
  526. 5350   IF Q=4 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+10,(ZY-(Y1-TY))*ZK+140+11),A13%,MATTE,1,1,%15
  527. 5360   IF Q=3 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+12,(ZY-(Y1-TY))*ZK+140+11),A14%,MATTE,1,1,%15
  528. 5370  K=(ZX-X1+TX)*ZK\12:K1=(ZY-Y1+TY)*ZK\12
  529. 5380  IF K<0 OR K1<0 THEN 5400
  530. 5390  ITI%((ZX-X1+TX)*ZK\12,(ZY-Y1+TY)*ZK\12)=A+1000
  531. 5400  NEXT
  532. 5410  FOR A=1 TO SRS:LOCATE 0,18:PRINT "移動中"+NAMAE$(R%(A))+"          "
  533. 5420   IF PAT%(A)>=3 AND PAT%(A)<=9 THEN GOSUB *IDO:GOSUB *HYOUZI_IDO
  534. 5430   IF PAT%(A)>=20 AND PAT%(A)<=23 THEN GOSUB *IKUSA
  535. 5440   IF PAT%(A)=1 THEN GOSUB *ZIN
  536. 5450   TX=X1%(A)+640:TY=Y1%(A):Q=PAT%(A)+BUGU%(A)
  537. 5460   IF X1-ZX>TX OR X1+ZX-2<TX THEN 5650
  538. 5470   IF Y1-ZY>TY OR Y1+ZY-2<TY THEN 5650
  539. 5480   IF PAT%(A)=0 AND BUGU%(A)=0 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A1%,MATTE,1,1,%15
  540. 5490   IF PAT%(A)=0 AND BUGU%(A)=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A2%,MATTE,1,1,%15
  541. 5500   IF PAT%(A)=1 AND BUGU%(A)=0 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A1%,MATTE,1,1,%15
  542. 5510   IF PAT%(A)=1 AND BUGU%(A)=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A2%,MATTE,1,1,%15
  543. 5520   IF Q=3 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+651,(ZY-(Y1-TY))*ZK+151),A3%,MATTE,1,1,%15
  544. 5530   IF Q=4 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+651,(ZY-(Y1-TY))*ZK+151),A4%,MATTE,1,1,%15
  545. 5540   IF Q=5 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A5%,MATTE,1,1,%15
  546. 5550   IF Q=6 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A6%,MATTE,1,1,%15
  547. 5560   IF Q=7 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A7%,MATTE,1,1,%15
  548. 5570   IF Q=8 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A8%,MATTE,1,1,%15
  549. 5580   IF Q=9 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A9%,MATTE,1,1,%15
  550. 5590   IF Q=10 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A10%,MATTE,1,1,%15
  551. 5600   IF Q=13 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+4,(ZY-(Y1-TY))*ZK+140+11),A1%,MATTE,1,1,%15
  552. 5610   IF Q=14 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+4,(ZY-(Y1-TY))*ZK+140+11),A2%,MATTE,1,1,%15
  553. 5620   IF PAT%(A)=20 OR PAT%(A)=21 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+646,(ZY-(Y1-TY))*ZK+153),A15%,MATTE,1,1,%15:GOTO 5640
  554. 5630   IF PAT%(A)=22 OR PAT%(A)=23 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+6,(ZY-(Y1-TY))*ZK+140+13),A16%,MATTE,1,1,%15:GOTO 5640
  555. 5640   ITI%((ZX-X1+TX)*ZK\12,(ZY-Y1+TY)*ZK\12)=A
  556. 5650  NEXT
  557. 5660  DIM W%(40000):GET@A (640,140)-(640+359,439),W%:PUT@A (0,0)-(359,299),W%
  558. 5670  ERASE W%
  559. 5680 NEXT HYO
  560. 5690 RETURN
  561. 5700 *HYOUZI_IDO:L=MOKUTEKI%(A):HYOUZI_IDOA=0
  562. 5710  IF L>=1000 THEN GOSUB *HYOUZI_IDOA
  563. 5720  IF L=-1 THEN RETURN
  564. 5730  KAKUDO_X=X1%(A)-X1%(L):KAKUDO_Y=Y1%(A)-Y1%(L)
  565. 5740  KAKUDO_XY=ABS(X1%(A)-X1%(L))-ABS(Y1%(A)-Y1%(L))
  566. 5750  IF KAKUDO_XY>=0 AND KAKUDO_X>2 THEN PAT%(A)=9:X1%(A)=X1%(A)-1:RETURN
  567. 5760 IF KAKUDO_XY>=0 AND KAKUDO_X<-2 THEN PAT%(A)=5:X1%(A)=X1%(A)+1:RETURN
  568. 5770  IF KAKUDO_XY=<0 AND KAKUDO_Y>2 THEN PAT%(A)=3:Y1%(A)=Y1%(A)-1:RETURN
  569. 5780 IF KAKUDO_XY=<0 AND KAKUDO_Y<-2 THEN PAT%(A)=7:Y1%(A)=Y1%(A)+1:RETURN
  570. 5790  IF HYOUZI_IDOA=1 THEN *GOURYU
  571. 5800  MOKUTEKI%(L)=A
  572. 5810  IF PAT%(L)=0 OR PAT%(L)=13 THEN PAT%(L)=22:PAT%(A)=21:RETURN
  573. 5820  IF PAT%(L)=1 THEN PAT%(L)=23:PAT%(A)=20:RETURN
  574. 5830  IF PAT%(L)=22 THEN PAT%(A)=21:RETURN
  575. 5840  IF PAT%(L)>=20 THEN PAT%(A)=20:RETURN
  576. 5850  PAT%(L)=20:PAT%(A)=20:RETURN
  577. 5860  *HYOUZI_IDOA:HYOUZI_IDOA=1
  578. 5870   IF L>=2000 THEN L=L-2000:RETURN ELSE L=L-1000
  579. 5880   KAKUDO_X=X1%(A)-TX%(L):KAKUDO_Y=Y1%(A)-TY%(L)
  580. 5890   KAKUDO_XY=ABS(X1%(A)-TX%(L))-ABS(Y1%(A)-TY%(L))
  581. 5900  RETURN 5750
  582. 5910   *HYOUZI_IDOB:L=MOKUTEKI%(SYUTU)-1000
  583. 5920    IF L>=1000 THEN L=L-1000:GOTO *HYOUZI_IDO
  584. 5930    IF L=-1 THEN *YASAGSASI
  585. 5940    KAKUDO_X=X1%(SYUTU)-TX%(L):KAKUDO_Y=Y1%(SYUTU)-TY%(L)
  586. 5950    KAKUDO_XY=ABS(X1%(SYUTU)-TX%(L))-ABS(Y1%(SYUTU)-TY%(L))
  587. 5960    IF KAKUDO_XY<=0 AND KAKUDO_Y<0 THEN PAT%(SYUTU)=7:Y1%(SYUTU)=Y1%(SYUTU)+1
  588. 5970    IF KAKUDO_XY>=0 AND KAKUDO_X>0 THEN PAT%(SYUTU)=9:X1%(SYUTU)=X1%(SYUTU)-1
  589. 5980    IF KAKUDO_XY>=0 AND KAKUDO_X<0 THEN PAT%(SYUTU)=5:X1%(SYUTU)=X1%(SYUTU)+1
  590. 5990    IF KAKUDO_XY<=0 AND KAKUDO_Y>0 THEN PAT%(SYUTU)=3:Y1%(SYUTU)=Y1%(SYUTU)-1
  591. 6000   RETURN
  592. 6010  *TEKI_TYOUSA
  593. 6020   FOR S=1 TO SRS
  594. 6030    TEKI%(S)=0
  595. 6040    IF A=S OR BUGU%(A)=BUGU%(S) THEN 6060 ELSE KYO=FIX(SQR((X1%(A)-X1%(S))^2+(Y1%(A)-Y1%(S))^2))-HE%(A)\2000:KEIKAI=KYO-BSN%(R)*7\(RD+1):TEKI_A=TEKI_A+1
  596. 6050    IF KEIKAI=<0 THEN GOSUB *GUNZISA
  597. 6060   NEXT
  598. 6070  RETURN
  599. 6080  *TEKI_TYOUSAIDO
  600. 6090   FOR S=1 TO SRS
  601. 6100    IF A=S OR BUGU%(A)=BUGU%(S) THEN 6060 ELSE KYO=FIX(SQR((X1%(A)-X1%(S))^2+(Y1%(A)-Y1%(S))^2))+HE%(A)\4000:KEIKAI=KYO-BSN%(R)*7\(RD+1)
  602. 6110    IF KEIKAI=<0 THEN TEKI_A=TEKI_A+1
  603. 6120   NEXT
  604. 6130  RETURN
  605. 6140    *YASAGASI
  606. 6150     FOR I=10 TO 63
  607. 6160       KYO=FIX(SQR((X1%(A)-X1%(I))^2+(Y1%(A)-Y1%(I))^2))
  608. 6170       IF KYO>22 THEN NEXT I
  609. 6180       FOR O=1 TO SRS
  610. 6190        IF RT%(O)=I AND BUGU%(O)<>BUGU%(A) THEN NEXT O
  611. 6200        MOKUTEKI%(A)=I+1000:RETURN
  612. 6210  *MOZI_HYOUZI:CLS 1:WIDTH 80,25:CONSOLE 16,8,0
  613. 6220   LOCATE 46,1,0:PRINT HYOUZI$(1)
  614. 6230   LOCATE 46,6:PRINT HYOUZI$(12)
  615. 6240   LOCATE 55,6:PRINT TOSI$(RT%(PLAYR))+"         "
  616. 6250   LOCATE 46,5:PRINT HYOUZI$(11):LOCATE 53,5:PRINT NAMAE$(R%(PLAYR))
  617. 6260   FOR P=1 TO 8
  618. 6270    LOCATE 46,6+P:PRINT HYOUZI$(P+2)
  619. 6280   NEXT
  620. 6290   LOCATE 60,7:SUUZI=RK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  621. 6300   LOCATE 60,8:SUUZI=RH%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  622. 6310   BUKA=0:FOR I=0 TO 579
  623. 6320    IF SYO%(I)=R%(PLAYR) AND I<>R%(PLAYR) THEN BUKA=BUKA+1
  624. 6330   NEXT: LOCATE 60,9:SUUZI=BUKA:GOSUB *KANSUZI:PRINT KANZI$+"    "
  625. 6340   LOCATE 60,10:SUUZI=HE%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  626. 6350   LOCATE 60,11:SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  627. 6360   LOCATE 60,12:SUUZI=KUG%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  628. 6370   LOCATE 60,13:SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  629. 6380   LOCATE 60,14:SUUZI=SK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"     "
  630. 6390   FOR P=0 TO 6
  631. 6400    SYMBOL(MAP(P*80,2),MAP(307,3)),HYOUZI$(P+16),1,1,7,0
  632. 6410   NEXT
  633. 6420  RETURN
  634. 6430  *NANKA
  635. 6440   SUUZI=NEN:GOSUB *KANSUZI:NEN$=KANZI$+"年  "
  636. 6450   SUUZI=TUKI:GOSUB *KANSUZI:TUKI$=KANZI$+"月  "
  637. 6460    IF SYUU=1 THEN SYUU$="第一週    "
  638. 6470    IF SYUU=2 THEN SYUU$="第二週    "
  639. 6480    IF SYUU=3 THEN SYUU$="第三週    "
  640. 6490    IF SYUU=4 THEN SYUU$="第四週    "
  641. 6500   RETURN
  642. 6510 *USER
  643. 6520  BEEP 1:WAIT 100 :BEEP 0:BTN=0:WHILE MOUSE(2,0)=-1:WEND:MEIREISU=0
  644. 6530  KOM$="                                                                      "
  645. 6540  LOCATE 0,17:PRINT KOM$
  646. 6550  LOCATE 0,21:PRINT KOM$
  647. 6560  LOCATE 0,22:PRINT KOM$
  648. 6570  LOCATE 0,18:PRINT KOM$
  649. 6580  LOCATE 0,19:PRINT KOM$
  650. 6590  LOCATE 0,20:PRINT KOM$
  651. 6600  WHILE BTN=0
  652. 6610   X2=MOUSE(0):Y2=MOUSE(1)
  653. 6620   BTN=MOUSE(2,0)
  654. 6630  WEND
  655. 6640  IF Y2<=300 AND X2<=360 THEN GOSUB *COM_TYOUSA
  656. 6650  IF Y2>=300 AND Y2<=325 THEN GOSUB *MEIREI
  657. 6660  IF (X2>=360 AND Y2>=90) AND (X2<=519 AND Y2<=299) THEN GOSUB *USER_A
  658. 6670  IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  659. 6680  IF MEIREISU=1 THEN BEEP 1:WAIT 200:BEEP 0:RETURN ELSE *USER
  660. 6690 *COM_TYOUSA
  661. 6700    X3=X2\12:Y3=Y2\12
  662. 6710    IF ITI%(X3,Y3)=0 THEN RETURN
  663. 6720    P=ITI%(X3,Y3):IF P>=1000 THEN LOCATE 49,17:PRINT TOSI$(P-1000)
  664. 6730    IF P>=1000 THEN LOCATE 49,18:SUUZI=TS%(P-1000):GOSUB *KANSUZI:PRINT "生産力 "+KANZI$
  665. 6740    IF P>=1000 THEN LOCATE 49,19:SUUZI=TK%(P-1000):GOSUB *KANSUZI:PRINT "経済力 "+KANZI$:BEEP 1:WAIT 20:BEEP 0:RETURN
  666. 6750    BEEP 1:WAIT 20:BEEP 0
  667. 6760    SUUZI=HE%(P):GOSUB *KANSUZI
  668. 6770    LOCATE 49,17:PRINT "総大将  "+NAMAE$(R%(P))+"     "
  669. 6780    LOCATE 49,18:PRINT KANZI$+"人     "
  670. 6790    IF PAT%(P)>=20 THEN JOUK$="合戦中          " 
  671. 6800    IF PAT%(P)=1 THEN JOUK$="陣にて待機中" 
  672. 6810    IF PAT%(P)=0 OR PAT%(P)=13 THEN JOUK$="待機中        " 
  673. 6820    IF PAT%(P)>=3 AND PAT%(P)<=9 THEN JOUK$="移動中         " 
  674. 6830    LOCATE 49,19:PRINT JOUK$
  675. 6840    IF ZK=2 THEN RETURN
  676. 6850    RH!=RH%(P)/HE%(P):RH=FIX(RH!*50)
  677. 6860    SUUZI=RH:GOSUB *KANSUZI:RH$=KANZI$
  678. 6870    LOCATE 49,20:PRINT "兵糧 約"+RH$+"日分        "
  679. 6880    IF ZK=4 THEN RETURN
  680. 6890    IF MOKUTEKI%(P)=-1 THEN RETURN
  681. 6900    IF MOKUTEKI%(P)>=1 AND MOKUTEKI%(P)<=50 THEN LOCATE 49,21:PRINT NAMAE$(R%(MOKUTEKI%(P)))+"軍へ向かう模様   "
  682. 6910    IF MOKUTEKI%(P)>=1000 THEN L=MOKUTEKI%(P)-1000:LOCATE 49,21:PRINT TOSI$(RT%(P))+"へ向かう模様    "
  683. 6920   RETURN
  684. 6930     *KANSUZI:KANSUZI$=STR$(SUUZI)
  685. 6940      MOZISU=LEN(KANSUZI$):KANZI$=""
  686. 6950      FOR P1=1 TO MOZISU
  687. 6960       L=VAL(MID$(KANSUZI$,P1,1))
  688. 6970       IF L=1 THEN L$="一"
  689. 6980       IF L=2 THEN L$="二"
  690. 6990       IF L=3 THEN L$="三"
  691. 7000       IF L=4 THEN L$="四"
  692. 7010       IF L=5 THEN L$="五"
  693. 7020       IF L=6 THEN L$="六"
  694. 7030       IF L=7 THEN L$="七"
  695. 7040       IF L=8 THEN L$="八"
  696. 7050       IF L=9 THEN L$="九"
  697. 7060       IF L=0 THEN L$="○":IF P1=1 THEN L$=""
  698. 7070       KANZI$=KANZI$+L$
  699. 7080      NEXT
  700. 7090     RETURN
  701. 7100  *MEIREI
  702. 7110   KOM$="                                                                                                   "
  703. 7120   LOCATE 0,17:PRINT KOM$
  704. 7130   LOCATE 0,22:PRINT KOM$
  705. 7140   LOCATE 0,19:PRINT KOM$
  706. 7150   LOCATE 0,18:PRINT KOM$
  707. 7160   LOCATE 0,21:PRINT KOM$
  708. 7170   LOCATE 0,20:PRINT KOM$
  709. 7180   LOCATE 0,23:PRINT KOM$
  710. 7190   IF Y2>=318 THEN RETURN
  711. 7200   IF X2<=80 AND (PAT%(PLAYR)>=3 AND PAT%(PLAYR)<=9) THEN *USER_KOUGUN
  712. 7210   IF (X2>80 AND X2<=160) AND PAT%(PLAYR)=1 THEN  *USER_ZIN
  713. 7220   IF (X2>160 AND X2<=240) AND PAT%(PLAYR)=0 THEN *USER_SIROTOSI
  714. 7230   IF (X2>240 AND X2<=320) AND (PAT%(PLAYR)=13 OR PAT%(PLAYR)=1) THEN *USER_GAIKOU
  715. 7240   IF (X2>240 AND X2<=320) AND PAT%(PLAYR)=0 THEN  *USER_GAIKOU
  716. 7250   IF (X2>320 AND X2<=400) AND (PAT%(PLAYR)=13 OR PAT%(PLAYR)=1) THEN *USER_ZINZI
  717. 7260   IF (X2>320 AND X2<=400) AND PAT%(PLAYR)=0 THEN  *USER_ZINZI
  718. 7270   IF (X2>400 AND X2<=480) AND PAT%(PLAYR)=13 THEN *USER_TERA
  719. 7280   IF X2>480 AND X2<=560 THEN *USER_KIROKU
  720. 7290   RETURN
  721. 7300    *USER_KOUGUN:BTN=0:WHILE MOUSE(2,0)=-1:WEND
  722. 7310     FOR L=0 TO 2
  723. 7320      LOCATE 10*L,17:PRINT HYOUZI$(L+23)
  724. 7330     NEXT
  725. 7340      LOCATE 30,17:PRINT "何もせず                    "
  726. 7350      WHILE BTN=0
  727. 7360       X4=MOUSE(0):Y4=MOUSE(1)
  728. 7370       BTN=MOUSE(2,0)
  729. 7380      WEND
  730. 7390      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  731. 7400      IF X4<=80 THEN *USER_MOKUTEKITI
  732. 7410      IF X4>80 AND X4<=160 THEN *MONOMI
  733. 7420      IF X4>160 AND X4<=240 THEN *ZINHARI
  734. 7430      IF X4>240 AND X4<=320 THEN MEIREISU=1
  735. 7440    RETURN
  736. 7450    *USER_ZIN:WHILE MOUSE(2,0)=-1:WEND
  737. 7460     FOR L=0 TO 4:LOCATE 10*L,17:PRINT HYOUZI$(L+26):NEXT
  738. 7470      WHILE MOUSE(2,0)=0:WEND
  739. 7480      X4=MOUSE(0):Y4=MOUSE(1)
  740. 7490      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  741. 7500      IF X4<=80 THEN *USER_MOKUTEKITI
  742. 7510      IF X4>80 AND X4<=160 THEN *USER_SYUEN
  743. 7520      IF X4>160 AND X4<=240 THEN *USER_KYUSOKU
  744. 7530      IF X4>240 AND X4<=320 THEN *USER_RYAKUDATU
  745. 7540      IF X4>320 AND X4<=400 THEN *USER_TYOUTATU
  746. 7550      RH%(PLAYR)=RH%(PLAYR)-HE%(PLAYR)\60
  747. 7560     RETURN
  748. 7570     *USER_SIROTOSI:BTN=0:WHILE MOUSE(2,0)=-1:WEND
  749. 7580     FOR L=0 TO 4:LOCATE 10*L,17:PRINT HYOUZI$(L+31):NEXT
  750. 7590      WHILE BTN=0
  751. 7600       X4=MOUSE(0):Y4=MOUSE(1)
  752. 7610       BTN=MOUSE(2,0)
  753. 7620      WEND
  754. 7630      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  755. 7640      IF X4<=80 THEN *USER_MOKUTEKITI
  756. 7650      IF X4>80 AND X4<=160 THEN *USER_KUNREN
  757. 7660      IF X4>160 AND X4<=240 THEN *USER_TYOUHEI
  758. 7670      IF X4>240 AND X4<=320 THEN *USER_HUKKOU
  759. 7680      IF X4>320 AND X4<=400 THEN *USER_KOUKAN
  760. 7690     RETURN
  761. 7700     *USER_GAIKOU:WHILE MOUSE(2,0)=-1:WEND
  762. 7710      LOCATE 0,17:PRINT HYOUZI$(36)
  763. 7720     FOR L=1 TO 3:LOCATE 10*L,17:PRINT HYOUZI$(L+37):NEXT
  764. 7730      WHILE MOUSE(2,0)=0:WEND
  765. 7740      X4=MOUSE(0):Y4=MOUSE(1)
  766. 7750      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  767. 7760      IF X4<=80 THEN *USER_KIJUN
  768. 7770      IF X4>160 AND X4<=240 THEN *USER_KAIDAN
  769. 7780      IF X4>80 AND X4<=160 THEN *USER_KOUHUKUKANKOKU
  770. 7790      IF X4>240 AND X4<=320 THEN *USER_MOTENASI
  771. 7800     RETURN
  772. 7810     *USER_ZINZI:WHILE MOUSE(2,0)=-1:WEND
  773. 7820      LOCATE 0,17:PRINT HYOUZI$(41)
  774. 7830      LOCATE 10,17:PRINT HYOUZI$(42)
  775. 7840      LOCATE 20,17:PRINT HYOUZI$(44)
  776. 7850      LOCATE 30,17:PRINT HYOUZI$(45)
  777. 7860      WHILE MOUSE(2,0)=0:WEND
  778. 7870      X4=MOUSE(0):Y4=MOUSE(1)
  779. 7880      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  780. 7890      IF X4<=80 THEN *USER_HORYO
  781. 7900      IF X4>80 AND X4<=160 THEN *USER_ENKAI
  782. 7910      IF X4>160 AND X4<=240 THEN *USER_ZINZAIYOUSEI
  783. 7920      IF X4>240 AND X4<=320 THEN *USER_ZINZAIHAKEN
  784. 7930     RETURN
  785. 7940     *USER_TERA:WHILE MOUSE(2,0)=-1:WEND
  786. 7950     FOR L=0 TO 5:LOCATE 10*L,17:PRINT HYOUZI$(L+46):NEXT
  787. 7960      WHILE MOUSE(2,0)=0:WEND
  788. 7970      X4=MOUSE(0):Y4=MOUSE(1)
  789. 7980      IF Y4>=300 AND Y4<=325 THEN *MEIREI
  790. 7990      IF X4<=80 THEN *USER_HUKKOU
  791. 8000      IF X4>80 AND X4<=160 THEN *USER_KUNREN
  792. 8010      IF X4>160 AND X4<=240 THEN *USER_TYOUHEI
  793. 8020      IF X4>240 AND X4<=320 THEN *USER_TYOUTATU
  794. 8030      IF X4>320 AND X4<=400 THEN *USER_KIGAN
  795. 8040      IF X4>400 AND X4<=480 THEN *USER_MOKUTEKITI
  796. 8050     RETURN
  797. 8060       *USER_MOKUTEKITI:WHILE MOUSE(2,0)=-1:WEND
  798. 8070        LOCATE 0,18:PRINT "目的地を決めてください           "
  799. 8080        WHILE MOUSE(2,0)=0:WEND
  800. 8090        X2=MOUSE(0):Y2=MOUSE(1):P=0
  801. 8100        IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  802. 8110        IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA 
  803. 8120        IF P=0 THEN 8080
  804. 8130        IF P>1000 THEN LOCATE 0,18:PRINT TOSI$(P-1000)+"へ向かいますか           "
  805. 8140        GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1:GOTO 8190 
  806. 8150        IF BUGU%(P)=BUGU%(PLAYR) THEN LOCATE 0,18:PRINT NAMAE$(R%(P))+"軍と合流するのですか           "
  807. 8160        GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1:P=P+2000
  808. 8170        IF P<1001 THEN LOCATE 0,18:PRINT NAMAE$(R%(P))+"軍でよろしいですか          "
  809. 8180        GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  810. 8190        LOCATE 0,19:PRINT "それでは 出陣します             "
  811. 8200        SYUTU=PLAYR:MOKUTEKI%(PLAYR)=P:GOSUB *SYUTU_B
  812. 8210       RETURN
  813. 8220        *MONOMI:WHILE MOUSE(2,0)=-1:WEND
  814. 8230         WHILE MOUSE(2,0)=0:WEND:X2=MOUSE(0):Y2=MOUSE(1)
  815. 8240         GOSUB *COM_TYOUSA:RETURN
  816. 8250       *ZINHARI:WHILE MOUSE(2,0)=-1:WEND
  817. 8260        LOCATE 0,18:PRINT "陣を張ります・よろしいですか               "
  818. 8270        GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  819. 8280        PAT%(PLAYR)=1:MEIREISU=1:GOSUB *HYOUZI_MAP
  820. 8290        RETURN
  821. 8300        *USER_SYUEN:WHILE MOUSE(2,0)=-1:WEND
  822. 8310         IF RH%(PLAYR)<=0 THEN LOCATE 0,18:PRINT "兵糧がありません   "
  823. 8320         LOCATE 0,18:PRINT "どのくらいの量を兵に振舞いますか         "
  824. 8330         WHILE MOUSE(2,0)=0
  825. 8340          RH=MOUSE(0)*20
  826. 8350          IF RH>RH%(PLAYR) THEN RH=RH%(PLAYR)
  827. 8360          LOCATE 34,18:PRINT USING "#####";RH
  828. 8370         WEND
  829. 8380         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  830. 8390         MEIREISU=1:RH%(PLAYR)=RH%(PLAYR)-RH
  831. 8400         SK%(PLAYR)=SK%(PLAYR)+(30-HE%(PLAYR)\RH+BT%(R%(PLAYR))-RD-1)
  832. 8410         IF SK%(PLAYR)>100 THEN SK%(PLAYR)=100
  833. 8420         LOCATE 60,8:SUUZI=RH%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  834. 8430         LOCATE 60,14:SUUZI=SK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  835. 8440        RETURN
  836. 8450        *USER_KYUSOKU:WHILE MOUSE(2,0)=-1:WEND
  837. 8460         LOCATE 0,18:PRINT "兵を休ませます                           "
  838. 8470         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  839. 8480         MEIREISU=1:SK%(PLAYR)=SK%(PLAYR)+2 
  840. 8490         IF SK%(PLAYR)>100 THEN SK%(PLAYR)=100
  841. 8500         LOCATE 60,14:SUUZI=SK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  842. 8510        *USER_RYAKUDATU:WHILE MOUSE(2,0)=-1:WEND
  843. 8520         LOCATE 0,18:PRINT "周辺の民家から食糧を略奪します           "
  844. 8530         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  845. 8540         MEIREISU=1:RH%(PLAYR)=RH%(PLAYR)+BB%(A)*(RD\4+1)*50
  846. 8550         MIN%(A)=MIN%(A)-(10-BZ%(A))*2
  847. 8560         IF RH%(PLAYR)>30000 THEN RH%(PLAYR)=30000
  848. 8570         LOCATE 60,8:SUUZI=RH%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  849. 8580        *USER_TYOUTATU:WHILE MOUSE(2,0)=-1:WEND
  850. 8590         LOCATE 0,18:PRINT "食糧を調達します                         "
  851. 8600         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  852. 8610         MEIREISU=1 
  853. 8620         RH%(PLAYR)=RH%(PLAYR)+(BSZ%(R%(PLAYR))+BZ%(R%(PLAYR)))*10*(RD\3+1)
  854. 8630         MIN%(A)=MIN%(A)-6+BZ%(R%(PLAYR))
  855. 8640         IF RH%(PLAYR)>30000 THEN RH%(PLAYR)=30000
  856. 8650         LOCATE 60,8:SUUZI=RH%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  857. 8660        *USER_KUNREN:WHILE MOUSE(2,0)=-1:WEND
  858. 8670         LOCATE 0,18:PRINT "兵を鍛えます                             "
  859. 8680         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  860. 8690         MEIREISU=1 
  861. 8700         SK_A=30-HE%(A)\1000+BT%(R%(PLAYR))+RD:SK_B=SK%(PLAYR)+SK_A
  862. 8710         IF SK_B>100 THEN SK_B=100
  863. 8720         SK%(PLAYR)=SK_B
  864. 8730         LOCATE 60,14:SUUZI=SK_B:GOSUB *KANSUZI:PRINT KANZI$+"      "
  865. 8740        RETURN
  866. 8750        *USER_TYOUHEI:WHILE MOUSE(2,0)=-1:WEND
  867. 8760         TYOUHEISUU!=((TK%(RT%(PLAYR))+1)*50)/640
  868. 8770         LOCATE 0,18:PRINT "兵を何人徴兵しまか                       "
  869. 8780         WHILE MOUSE(2,0)=0
  870. 8790          TYOUHEISU=MOUSE(0)*TYOUHEISUU!
  871. 8800          LOCATE 20,18:PRINT USING "#####";TYOUHEISU
  872. 8810         WEND::WHILE MOUSE(2,0)=-1:WEND
  873. 8820         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  874. 8830         SK%(PLAYR)=SK%(PLAYR)-(HE%(PLAYR)+TYOHEISU)\HE%(PLAYR)
  875. 8840         HE%(PLAYR)=HE%(PLAYR)+TYOUHEISU
  876. 8850         IF HE%(PLAYR)>30000 THEN HE%(PLAYR)=30000
  877. 8860         IF SK%(PLAYR)<0 THEN SK%(PLAYR)=0
  878. 8870         MIN%(PLAYR)=MIN%(PLAYR)-TYOHEISU\100+BZ%(R%(PLAYR))-6
  879. 8880         IF MIN%(PLAYR)<0 THEN MIN%(PLAYR)=0
  880. 8890         LOCATE 60,14:SUUZI=SK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  881. 8900         LOCATE 60,10:SUUZI=HE%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  882. 8910         LOCATE 60,11:SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  883. 8920        *USER_HUKKOU:WHILE MOUSE(2,0)=-1:WEND
  884. 8930         LOCATE 0,18:PRINT "町の復興費                               "
  885. 8940         WHILE MOUSE(2,0)=0
  886. 8950          RK=MOUSE(0)*20:IF RK>RK%(PLAYR) THEN RK=RK%(PLAYR)
  887. 8960          LOCATE 12,18:PRINT USING "#####";RK
  888. 8970         WEND:WHILE MOUSE(2,0)=-1:WEND
  889. 8980         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  890. 8990        RK%(PLAYR)=RK%(PLAYR)-RK:MIN%(A)=MIN%(A)+RK\BZ%(R%(PLAYR))\100
  891. 9000         IF MIN%(PLAYR)>100 THEN MIN%(PLAYR)=100
  892. 9010         LOCATE 60,7:SUUZI=RK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  893. 9020         LOCATE 60,11:SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  894. 9030        *USER_KOUKAN:WHILE MOUSE(2,0)=-1:WEND
  895. 9040         RH=RH%(PLAYR)/640
  896. 9050         LOCATE 0,18:PRINT "どのくらい売りますか(米1:金0.5)       "
  897. 9060         WHILE MOUSE(2,0)=0
  898. 9070          RHH=MOUSE(0)*RH
  899. 9080          LOCATE 36,18:PRINT USING "#####";RHH
  900. 9090         WEND:WHILE MOUSE(2,0)=-1:WEND
  901. 9100         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  902. 9110         MEIREISU=1:RH%(PLAYR)=RH%(PLAYR)-RHH
  903. 9120         RK%(PLAYR)=RK%(PLAYR)+RHH\2
  904. 9130         IF RK%(PLAYR)>30000 THEN R%(PLAYR)=30000
  905. 9140         LOCATE 60,7:SUUZI=RK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  906. 9150         LOCATE 60,8:SUUZI=RH%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      ":RETURN
  907. 9160         *USER_KIJUN:WHILE MOUSE(2,0)=-1:WEND
  908. 9170          LOCATE 0,18:PRINT "敵対勢力に帰順します                    "
  909. 9180          GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  910. 9190          MIN%(PLAYR)=MIN%(PLAYR)\2:KOKU%(PLAYR)=KOKU%(PLAYR)\2
  911. 9200          LOCATE 60,11:SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  912. 9210          LOCATE 60,13:SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"      "
  913. 9220          IF BUGU%(PLAYR)=0 THEN BUGU%(PLAYR)=1:GOTO 9240
  914. 9230          IF BUGU%(PLAYR)=1 THEN BUGU%(PLAYR)=0
  915. 9240          IF RT%(PLAYR)=-1 THEN RETURN
  916. 9250          IF SS%(RT%(PLAYR))=1 THEN SS%(RT%(PLAYR))=2:RETURN
  917. 9260          IF SS%(RT%(PLAYR))=2 THEN SS%(RT%(PLAYR))=1:RETURN
  918. 9270        *USER_KOUHUKUKANKOKU:WHILE MOUSE(2,0)=-1:WEND
  919. 9280         LOCATE 0,18:PRINT "どの軍に勧告しますか                     "
  920. 9290         WHILE MOUSE(2,0)=0:WEND
  921. 9300         X2=MOUSE(0):Y2=MOUSE(1)
  922. 9310         IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  923. 9320         IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA ELSE 9290
  924. 9330         IF BUGU%(P)=BUGU%(PLAYR) THEN 9290
  925. 9340         WHILE MOUSE(2,0)=-1:WEND
  926. 9350         LOCATE 0,18:PRINT NAMAE$(R%(P))+"軍でよろしいですか         "
  927. 9360         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  928. 9370         HEA=HE%(PLAYR):SKA=SK%(PLAYR):HEP=HE%(P):SKP=SK%(P)
  929. 9380         L!=(HEP*SKA*BC%(R%(P))*5+1+RD\2)-HEA*SKA
  930. 9390         IF BC%(R%(P))=0 OR BC%(R%(P))=>4 THEN L!=100
  931. 9400         IF L!>=0 AND BB%(R%(P))=5 THEN KOM$="そのような戯れ言をよく思いつかれるものだ・貴殿は頭がおかしいのでは    "
  932. 9410         IF L!>=0 AND BB%(R%(P))=4 THEN KOM$="笑止千万!帰れ!                                                     "
  933. 9420         IF L!>=0 AND BB%(R%(P))=3 THEN KOM$="何をおたわむれ申さるる                                                "
  934. 9430         IF L!>=0 AND BB%(R%(P))<=2 THEN KOM$="お断り申す                                                           "
  935. 9440         IF L!<0 AND BB%(R%(P))=5 THEN KOM$="心外なれど これも致し方なし・・・・                                       "
  936. 9450         IF L!<0 AND BB%(R%(P))=4 THEN KOM$="これも天命なのだろうか                                                 "
  937. 9460         IF L!<0 AND BB%(R%(P))=3 THEN KOM$="ここは勧告を受け入れるのが賢明だろう                                   "
  938. 9470         IF L!<0 AND BB%(R%(P))<=2 THEN KOM$="承知致す                                                              "
  939. 9480         LOCATE 0,18:PRINT KOM$
  940. 9490         IF L!>=0 THEN LOCATE 0,19:PRINT "断られました        ":RETURN
  941. 9500         IF L!<0 THEN LOCATE 0,19:PRINT "降伏しました         "
  942. 9510         BUGU%(P)=BUGU%(PLAYR):KOKU%(P)=KOKU%(P)\3*2
  943. 9520         IF PAT%(P)<>0 AND PAT%(P)<>13 THEN MOKUTEKI%(P)=RT%(P)+1000
  944. 9530         IF RT%(P)=-1 THEN RETURN
  945. 9540         IF SS%(RT%(P))=2 THEN SS%(RT%(P))=1:RETURN
  946. 9550         IF SS%(RT%(P))=1 THEN SS%(RT%(P))=2:RETURN
  947. 9560        *USER_KAIDAN:WHILE MOUSE(2,0)=-1:WEND
  948. 9570         LOCATE 0,18:PRINT "どの軍に援軍求めますか                   "
  949. 9580         WHILE MOUSE(2,0)=0:WEND
  950. 9590         X2=MOUSE(0):Y2=MOUSE(1):P=0
  951. 9600         IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  952. 9610         IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA 
  953. 9620         IF P=0 THEN 9580
  954. 9630         IF BUGU%(P)<>BUGU%(PLAYR) THEN 9580
  955. 9640         WHILE MOUSE(2,0)=-1:WEND
  956. 9650         LOCATE 0,18:PRINT NAMAE$(R%(P))+"軍でよろしいですか         "
  957. 9660         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  958. 9670         WHILE MOUSE(2,0)=-1:WEND:ENGUN=P
  959. 9680         LOCATE 0,18:PRINT "攻撃する敵を決めてください               "
  960. 9690         WHILE MOUSE(2,0)=0:WEND
  961. 9700         X2=MOUSE(0):Y2=MOUSE(1):P=0
  962. 9710         IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  963. 9720         IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA 
  964. 9730         IF P=0 THEN 9690
  965. 9740         IF BUGU%(P)=BUGU%(PLAYR) THEN 9690 
  966. 9750         WHILE MOUSE(2,0)=-1:WEND
  967. 9760         LOCATE 0,18:PRINT NAMAE$(R%(P))+"ですか                    "
  968. 9770         GOSUB *ZEHI:IF ZEHI=0 THEN 9690 ELSE MEIREISU=1
  969. 9780         RH!=RH%(P)/HE%(P):RH=FIX(RH!*50)
  970. 9790         KYO=FIX(SQR((X1%(P)-X1%(ENGUN))^2+(Y1%(P)-Y1%(ENGUN))^2))
  971. 9800         KYO=KYO*2-RH-BZ%(R%(PLAYR))
  972. 9810         IF KYO>=-3 THEN KOM$="承知しかねる" ELSE KOM$="承知致した"
  973. 9820         LOCATE 0,18:PRINT KOM$+"                       ":WAIT 100 
  974. 9830         IF KYO>=-3 THEN LOCATE 0,19:PRINT "援軍は断られました":RETURN
  975. 9840         LOCATE 0,19:PRINT "要請に応じてくれました・出陣します       "
  976. 9850         MOKUTEKI%(PLAYR)=P:SYUTU=PLAYR:GOSUB *SYUTU_B 
  977. 9860         MOKUTEKI%(ENGUN)=P:SYUTU=ENGUN:GOSUB *SYUTU_B
  978. 9870        RETURN
  979. 9880        *USER_MOTENASI:WHILE MOUSE(2,0)=-1:WEND
  980. 9890         LOCATE 0,18:PRINT "この地の国人に金を振舞います            "
  981. 9900         WHILE MOUSE(2,0)=0
  982. 9910          RK=MOUSE(0)*(10000/639):IF RK>RK%(PLAYR) THEN RK=RK%(PLAYR)
  983. 9920          LOCATE 30,18:PRINT USING "#####";RK
  984. 9930         WEND:WHILE MOUSE(2,0)=-1:WEND
  985. 9940         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  986. 9950         KOKU%(PLAYR)=KOKU%(PLAYR)+RK\20\KOKU%(PLAYR)+1
  987. 9960         RK%(PLAYR)=RK%(PLAYR)-RK
  988. 9970         IF KOKU%(PLAUR)>=100 THEN KOKU%(PLAYR)=100
  989. 9980         SIZI=KOKU%(PLAUR)+KUG%(PLAYR)
  990. 9990         IF SIZI>150 THEN KUG%(PLAYR)=KUG%(PLAYR)-1:GOTO 9980
  991. 10000         LOCATE 60,12:SUUZI=KUG%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  992. 10010         LOCATE 60,13:SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  993. 10020         LOCATE 60,7:SUUZI=RK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"    "
  994. 10030        RETURN
  995. 10040        *USER_HORYO:WHILE MOUSE(2,0)=-1:WEND
  996. 10050         FOR L=0 TO 579
  997. 10060         HRYO=SYO%(L)-3000:IF HRYO=R%(PLAYR) THEN GOSUB *USER_SYOBUN 
  998. 10070         NEXT:RETURN
  999. 10080         *USER_SYOBUN
  1000. 10090         LOCATE 0,17:PRINT NAMAE$(L)+"にどのような処分を             "
  1001. 10100         FOR I=0 TO 2:LOCATE 10*I,18:PRINT HYOUZI$(52+I):NEXT
  1002. 10110         WHILE MOUSE(2,0)=0:WEND
  1003. 10120          X5=MOUSE(0):Y5=MOUSE(1)
  1004. 10130          IF Y5<344 OR Y5<354 THEN 10110
  1005. 10140          IF X5<=80 THEN SYOBUN=0:KOM$=HYOUZI$(52)
  1006. 10150          IF X5>80 AND X5<=160 THEN SYOBUN=4000+RT%(PLAYR):KOM$=HYOUZI$(53)
  1007. 10160          IF X5>160 AND X5<=240 THEN SYOBUN=R%(PLAYR):KOM$=HYOUZI$(54)
  1008. 10170         LOCATE 0,17:PRINT NAMAE$(L)+"を"+KOM$+"します               "
  1009. 10180         WHILE MOUSE(2,0)=-1:WEND
  1010. 10190         LOCATE 0,18:PRINT "  是  非                                 "
  1011. 10200         WHILE MOUSE(2,0)=0:WEND:ZEHI=0
  1012. 10210         X5=MOUSE(0):Y5=MOUSE(1)
  1013. 10220         IF Y5>354 OR Y5<344 THEN 10200
  1014. 10230         IF X5>=41 AND X5<=80 THEN ZEHI=0
  1015. 10240         IF X5>=0 AND X5<=40 THEN ZEHI=1 
  1016. 10250         IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  1017. 10260         SYO%(L)=SYOBUN:RETURN 
  1018. 10270        *USER_ENKAI:WHILE MOUSE(2,0)=-1:WEND:KUGSU=0
  1019. 10280         FOR I=0 TO 579
  1020. 10290          KUGE=SYO%(I)-2000:IF KUGE=RT%(PLAYR) THEN KUGSU=KUGSU+1
  1021. 10300         NEXT
  1022. 10310         IF KUGSU=0 THEN LOCATE 0,18:PRINT "公家がいません    ":RETURN
  1023. 10320         SUUZI=KUGSU*300:GOSUB *KANSUZI+"   "
  1024. 10330         LOCATE 0,18:PRINT "この地の公家を宴会に招きます・金"+KANZI$+"を要します            "
  1025. 10340         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  1026. 10350         RK%(PLAYR)=RK%(PLAYR)-RK
  1027. 10360         IF RK%(PLAYR)<0 THEN LOCATE 0,18:PRINT "費用不足のために十分なもてなしができませんでした    ":RK%(PLAYR)=0:GOTO 10430
  1028. 10370         KUG%(PLAYR)=KUG%(PLAYR)+BZ%(R%(PLAYR))
  1029. 10380         IF KUG%(PLAYR)>100 THEN KUG%(PLAYR)=100
  1030. 10390         SIZI=KUG%(PLAYR)+KOKU%(PLAYR)
  1031. 10400         IF SIZI>150 THEN KUG%(PLAYR)=KUG%(PLAYR)-1:GOTO 10390
  1032. 10410         LOCATE 60,12:SUUZI=KUG%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"     "
  1033. 10420         LOCATE 60,13:SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"     "
  1034. 10430         LOCATE 60,7:SUUZI=RK%(PLAYR):GOSUB *KANSUZI:PRINT KANZI$+"  "
  1035. 10440        RETURN
  1036. 10450        *USER_ZINZAIHAKEN
  1037. 10460         LOCATE 0,18:PRINT "何処に派遣しますか                       "
  1038. 10470         WHILE MOUSE(2,0)=0:WEND
  1039. 10480         X2=MOUSE(0):Y2=MOUSE(1):P=0
  1040. 10490         IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  1041. 10500         IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA
  1042. 10510         IF P=0 THEN 10480
  1043. 10520         IF NOT (BUGU%(P)=BUGU%(PLAYR)) THEN 10480
  1044. 10530         WHILE MOUSE(2,0)=-1:WEND
  1045. 10540         LOCATE 0,18:PRINT NAMAE$(R%(P))+"でよろしいですか          "
  1046. 10550         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  1047. 10560         KYO=FIX(SQR((X1%(P)-X1%(PLAYR))^2+(Y1%(P)-Y1%(PLAYR))^2))
  1048. 10570         IF KYO>=45 THEN LOCATE 0,18:PRINT "遠すぎます・出来ません                         ":RETURN ELSE ENGUN=P
  1049. 10580         LOCATE 0,17:PRINT "誰を派遣しますか                        "
  1050. 10590         BUKA=PLAYR:GOSUB *SEIRETU:WHILE MOUSE(2,0)=-1:WEND
  1051. 10600         LOCATE 0,17:PRINT NAMAE$(P)+"でよろしいですか               "
  1052. 10610         LOCATE 0,18:PRINT "  是  非                                 "
  1053. 10620         WHILE MOUSE(2,0)=0:WEND:ZEHI=0
  1054. 10630         X5=MOUSE(0):Y5=MOUSE(1)
  1055. 10640         IF Y5>354 OR Y5<344 THEN 10620
  1056. 10650         IF X5>=41 AND X5<=80 THEN ZEHI=0
  1057. 10660         IF X5>=0 AND X5<=40 THEN ZEHI=1:MEIREISU=1 
  1058. 10670         IF ZEHI=0 THEN RETURN
  1059. 10680         WHILE MOUSE(2,0)=-1:WEND
  1060. 10690         LOCATE 0,19:PRINT "兵もあたえますか                        "
  1061. 10700         LOCATE 0,20:PRINT "  是  非                                 "
  1062. 10710         WHILE MOUSE(2,0)=0:WEND:ZEHI=0
  1063. 10720         X5=MOUSE(0):Y5=MOUSE(1)
  1064. 10730         IF Y5>393 OR Y5<374 THEN 10710
  1065. 10740         IF X5>=41 AND X5<=80 THEN HE=0:GOTO *HAKEN
  1066. 10750         IF X5>=0 AND X5<=40 THEN ZEHI=1 ELSE 10710
  1067. 10760         WHILE MOUSE(2,0)=-1:WEND
  1068. 10770         IF ZEHI=1 THEN LOCATE 0,18:PRINT "いくら与えますか         " 
  1069. 10780         WHILE MOUSE(2,0)=0
  1070. 10790          HE=MOUSE(0)*(1000/639):IF HE>HE%(PLAYR) THEN HE=HE%(PLAYR)
  1071. 10800          LOCATE 18,18:PRINT USING "####";HE
  1072. 10810         WEND
  1073. 10820         GOSUB *ZEHI:IF ZEHI=0 THEN 10680
  1074. 10830         *HAKEN
  1075. 10840          SYO%(P)=R%(ENGUN):HE%(ENGUN)=HE%(ENGUN)+HE
  1076. 10850       SUUZI=HE%(PLAYR):GOSUB *KANSUZI:LOCATE 60,10:PRINT KANZI$+"   "
  1077. 10860       BUKA=0:FOR I=0 TO 579
  1078. 10870        IF SYO%(I)=R%(PLAYR) AND I<>R%(PLAYR) THEN BUKA=BUKA+1
  1079. 10880       NEXT: LOCATE 60,9:SUUZI=BUKA:GOSUB *KANSUZI:PRINT KANZI$+"    "
  1080. 10890          LOCATE 0,18:PRINT "派遣します                             "
  1081. 10900        RETURN
  1082. 10910        *USER_ZINZAIYOUSEI
  1083. 10920         LOCATE 0,18:PRINT "誰に要請しますか                        "
  1084. 10930         WHILE MOUSE(2,0)=0:WEND
  1085. 10940         X2=MOUSE(0):Y2=MOUSE(1):P=0
  1086. 10950         IF X2>=360 AND Y2<=90 THEN GOSUB *USER_B
  1087. 10960         IF Y2<=299 AND X2<=359 THEN GOSUB *COM_TYOUSA 
  1088. 10970         IF P=0 THEN 10930
  1089. 10980         IF NOT (BUGU%(P)=BUGU%(PLAYR)) THEN 10930
  1090. 10990         WHILE MOUSE(2,0)=-1:WEND
  1091. 11000         LOCATE 0,18:PRINT NAMAE$(R%(P))+"でよろしいですか          "
  1092. 11010         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  1093. 11020         KYO=FIX(SQR((X1%(P)-X1%(PLAYR))^2+(Y1%(P)-Y1%(PLAYR))^2))
  1094. 11030         IF KYO>=45 THEN LOCATE 0,18:PRINT "遠すぎます・無理です                          ":RETURN ELSE ENGUN=P:DIM BUKA%(50):B=0:MEIREISU=1
  1095. 11040         FOR I=0 TO 579
  1096. 11050          IF SYO%(I)=R%(ENGUN) THEN B=B+1:IF B>0 THEN BUKA%(B)=I
  1097. 11060          IF SYO%(I)=R%(PLAYR) THEN B=B-1
  1098. 11070         NEXT
  1099. 11080         IF B<=6 THEN LOCATE 0,18:PRINT "残念ながらできませぬ       ":LOCATE 0,19:PRINT "断られました                             ":RETURN
  1100. 11090         LOCATE 0,18:PRINT "分かり申した   "+NAMAE$(BUKA%(RD\2+1))+"を派遣しよう        "
  1101. 11100         SYO%(BUKA%(RD\2+1))=R%(PLAYR)
  1102. 11110       BUKA=0:FOR I=0 TO 579
  1103. 11120        IF SYO%(I)=R%(PLAYR) AND I<>R%(PLAYR) THEN BUKA=BUKA+1
  1104. 11130       NEXT: LOCATE 60,9:SUUZI=BUKA:GOSUB *KANSUZI:PRINT KANZI$+"    "
  1105. 11140         LOCATE 0,19:PRINT NAMAE$(BUKA%(RD\2+1))+"と申します・お見知り置きを                    ":RETURN
  1106. 11150        *USER_KIGAN
  1107. 11160         LOCATE 0,18:PRINT TOSI$(RT%(PLAYR))+"に祈願します         "
  1108. 11170         GOSUB *ZEHI:IF ZEHI=0 THEN RETURN ELSE MEIREISU=1
  1109. 11180         LOCATE 0,18:PRINT "兵の士気があがりました     ":SK%(PLAYR)=SK%(PLAYR)+1:IF SK%(PLAYR)<100 THEN SK%(PLAYR)=100
  1110. 11190         SUUZI=SK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,14:PRINT KANZI$+" "
  1111. 11200        RETURN
  1112. 11210   *COM_ZINZAIYOUKYU:FOR I=1 TO 10:BEEP 1:WAIT 30:BEEP 0:WAIT 30: NEXT
  1113. 11220     LOCATE 0,17:PRINT NAMAE$(R%(COM))+"が人材の派遣を要請しております・いかがいたしますか    "
  1114. 11230     LOCATE 0,18:PRINT "話を聞く  断る  要請を聞き入れる      " 
  1115. 11240     WHILE MOUSE(2,0)=0:WEND
  1116. 11250     X5=MOUSE(0):Y5=MOUSE(1)
  1117. 11260     IF Y5>354 OR Y5<344 THEN 11240
  1118. 11270     IF X5<=72 THEN *COM_ZINZAIHANASI
  1119. 11280     IF X5>72 AND X5<=120 THEN *COM_ZINZAIDAME
  1120. 11290     IF X5>120 AND X5<=264 THEN *COM_ZINZAIOK ELSE 11240
  1121. 11300      *COM_ZINZAIHANASI:WHILE MOUSE(2,0)=-1:WEND
  1122. 11310       LOCATE 0,19:PRINT "我が軍には優秀な人材が一人もおりませぬ・これでは領国の経営もままなりませぬゆえ 何とぞお願い申し上げる     "
  1123. 11320       LOCATE 0,18:PRINT "派遣する  断る                         "
  1124. 11330       WHILE MOUSE(2,0)=0:WEND:ZEHI=0
  1125. 11340       X5=MOUSE(0):Y5=MOUSE(1)
  1126. 11350       IF Y5>354 OR Y5<344 THEN 11330
  1127. 11360       IF X5<=72 THEN ZEHI=1
  1128. 11370       IF X5>72 AND X5<=120 THEN ZEHI=0 
  1129. 11380       *COM_ZINZAIDAME
  1130. 11390       IF ZEHI=0 THEN LOCATE 0,19:PRINT "・・・さようでござるか  ":RETURN
  1131. 11400       *COM_ZINZAIOK
  1132. 11410       IF ZEHI=1 THEN LOCATE 0,17:PRINT "誰を派遣しますか         "
  1133. 11420       BUKA=PLAYR:GOSUB *SEIRETU:WHILR MOUSE(2,0)=-1:WEND
  1134. 11430       LOCATE 0,17:PRINT NAMAE$(P)+"でよろしいですか               "
  1135. 11440       LOCATE 0,18:PRINT "  是  非                                 "
  1136. 11450       WHILE MOUSE(2,0)=0:WEND:ZEHI=0
  1137. 11460       X5=MOUSE(0):Y5=MOUSE(1)
  1138. 11470       IF Y5>354 OR Y5<344 THEN 10620
  1139. 11480       IF X5>=41 AND X5<=80 THEN ZEHI=0
  1140. 11490       IF X5>=0 AND X5<=40 THEN ZEHI=1
  1141. 11500       IF ZEHI=0 THEN LOCATE 0,18:PRINT "派遣をとりやめますか        ":GOSUB *ZEHI:WHILE MOUSE(2,0)=-1:WEND:IF ZEHI=0 THEN 11410 ELSE 11390
  1142. 11510       LOCATE 0,17:PRINT NAMAE$(P)+"を"+NAMAE$(R%(COM))+"の下へ派遣します           ":SYO%(P)=R%(COM)
  1143. 11520       LOCATE 0,18:PRINT "かたじけのうござる          "
  1144. 11530       BUKA=0:FOR I=0 TO 579
  1145. 11540        IF SYO%(I)=R%(PLAYR) AND I<>R%(PLAYR) THEN BUKA=BUKA+1
  1146. 11550       NEXT: LOCATE 60,9:SUUZI=BUKA:GOSUB *KANSUZI:PRINT KANZI$+"    "
  1147. 11560      RETURN
  1148. 11570     *COM_KANKOKU
  1149. 11580      LOCATE 0,17:PRINT NAMAE$(R%(COM))+"が降伏勧告をしています・いかがいたしますか     "
  1150. 11590      LOCATE 0,18:PRINT "降伏する  無視する                        " 
  1151. 11600      WHILE MOUSE(2,0)=0:WEND
  1152. 11610      X5=MOUSE(0):Y5=MOUSE(1)
  1153. 11620      IF Y5<344 OR Y5>354 THEN 11600
  1154. 11630      IF X5<=72 THEN GOSUB *ZEHI
  1155. 11640      IF X5>72 AND X5<=144 THEN ZEHI=0
  1156. 11650      IF ZEHI=0 THEN LOCATE 0,18:PRINT "愚かな・・・         ":MOUTEKI%(COM)=PLAYR:SYUTU=COM:GOSUB *SYUTU_A:RETURN
  1157. 11660      LOCATE 0,18:PRINT "我が軍は敵方に帰順しました   "
  1158. 11670      BUGU%(PLAYR)=BUGU%(COM):KOKU%(PLAYR)=KOKU%(PLAYR)\2:MIN%(PLAYR)=MIN%(PLAYR)\3*2
  1159. 11680      SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:LOCATE 60,13:PRINT KANZI$+"  "
  1160. 11690      SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:LOCATE 60,11:PRINT KANZI$+"  "
  1161. 11700     RETURN
  1162. 11710     *COM_KAIDAN:COM=A
  1163. 11720      LOCATE 0,17:PRINT NAMAE$(R%(COM))+"が"+NAMAE$(R%(OOO))+"軍への共同攻撃要請の為に参っております     "
  1164. 11730      LOCATE 0,18:PRINT "要請を受け入れる  断る    "
  1165. 11740      WHILE MOUSE(2,0)=0:WEND
  1166. 11750      IF Y5>354 OR Y5<344 THEN 11750
  1167. 11760      IF X5<=152 THEN GOSUB *ZEHI:IF ZEHI=0 THEN 11740
  1168. 11770      IF X5>152 AND X5<=200 THEN MOKUTEKI%(COM)=-1:RETURN 
  1169. 11780      LOCATE 0,20:PRINT "有り難い・早速出陣準備を         "
  1170. 11790      MOKUTEKI%(PLAYR)=OOO:SYUTU=PLAYR:GOSUB *SYUTU_B
  1171. 11800      LOCATE 0,17:PRINT "出陣します                                "
  1172. 11810     RETURN
  1173. 11820     *COM_GOURYU
  1174. 11830      LOCATE 0,17:PRINT NAMAE$(R%(COM))+"軍が我が軍への合流を求めています・合流しますか            "
  1175. 11840      GOSUB *ZEHI:IF ZEHI=0 THEN PAT%(COM)=1:MOKUTEKI%(COM)=-1:RETURN 
  1176. 11850      LOCATE 0,18:PRINT NAMAE$(R%(COM))+"軍を吸収しました            "
  1177. 11860      BUKA=0:FOR I=0 TO 579
  1178. 11870       IF SYO%(I)=R%(COM) THEN SYO%(I)=R%(PLAYR)
  1179. 11880       IF SYO%(I)=R%(PLAYR) THEN BUKA=BUKA+1
  1180. 11890      NEXT
  1181. 11900      R%(COM)=-1:PAT%(COM)=-1:MOKUTEKI%(COM)=-1:RT%(COM)=-1
  1182. 11910      RK=RK%(PLAYR)+RK%(COM):RH=RH%(PLAYR)+RH%(COM):HE=HE%(PLAYR)+HE%(COM):SK%(PLAYR)=(HE%(COM)*SK%(COM)+HE%(PLAYR)*SK%(PLAYR))\(HE%(COM)+HE%(PLAYR)):KOKU%(COM)=-1:KUG%(COM)=-1:MIN%(COM)=-1:BUGU%(COM)=-1
  1183. 11920      IF RK>30000 THEN RK=30000
  1184. 11930      IF RH>30000 THEN RH=30000
  1185. 11940      IF HE>30000 THEN HE=30000
  1186. 11950      SUUZI=RK:GOSUB *KANSUZI:LOCATE 60,7:PRINT KANZI$+"      "
  1187. 11960      SUUZI=RH:GOSUB *KANSUZI:LOCATE 60,8:PRINT KANZI$+"      "
  1188. 11970      SUUZI=BUKA:GOSUB *KANSUZI:LOCATE 60,9:PRINT KANZI$+"     "
  1189. 11980      SUUZI=HE:GOSUB *KANSUZI:LOCATE 60,10:PRINT KANZI$+"      "
  1190. 11990      SUUZI=SK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,14:PRINT KANZI$+"    "
  1191. 12000      RK%(PLAYR):RH%(PLAYR)=RH:HE%(PLAYR)=HE:RETURN
  1192. 12010  *USER_A
  1193. 12020   IF Y2>173 AND Y2<=192 THEN *SEIRETU_A
  1194. 12030   IF Y2>230 AND Y2<=250 THEN *KUGE_A
  1195. 12040   IF Y2>250 AND Y2<=270 THEN *KOKUZIN
  1196. 12050  RETURN
  1197. 12060     *SEIRETU_A:B=0
  1198. 12070      FOR I=0 TO 579
  1199. 12080       IF SYO%(I)=R%(PLAYR) THEN B=B+1 ELSE 12160
  1200. 12090       IF B>0 AND B<=6 THEN LOCATE (B-1)*14,18:PRINT NAMAE$(I)
  1201. 12100       IF B>6 AND B<=12 THEN LOCATE (B-7)*14,19:PRINT NAMAE$(I)
  1202. 12110       IF B>12 AND B<=18 THEN LOCATE (B-13)*14,20:PRINT NAMAE$(I)
  1203. 12120       IF B>18 AND B<=24 THEN LOCATE (B-19)*14,21:PRINT NAMAE$(I)
  1204. 12130       IF B>24 AND B<=30 THEN LOCATE (B-25)*14,22:PRINT NAMAE$(I)
  1205. 12140       IF B>30 AND B<=36 THEN LOCATE (B-31)*14,23:PRINT NAMAE$(I)
  1206. 12150       IF B>36 AND B<=42 THEN LOCATE (B-37)*14,24:PRINT NAMAE$(I)
  1207. 12160      NEXT
  1208. 12170      LOCATE 0,17:PRINT "部将一覧                                    "
  1209. 12180     WHILE MOUSE(2,0)=-1:WEND:RETURN
  1210. 12190     *KUGE_A:B=0
  1211. 12200      FOR I=0 TO 579
  1212. 12210       IF SYO%(I)<2000 THEN 12290 ELSE KUG=SYO%(I)-2000
  1213. 12220       IF KUG=RT%(PLAYR) THEN B=B+1 ELSE 12290
  1214. 12230       IF B>0 AND B<=6 THEN LOCATE (B-1)*14,18:PRINT NAMAE$(I)
  1215. 12240       IF B>6 AND B<=12 THEN LOCATE (B-7)*14,19:PRINT NAMAE$(I)
  1216. 12250       IF B>18 AND B<=24 THEN LOCATE (B-19)*14,21:PRINT NAMAE$(I)
  1217. 12260       IF B>24 AND B<=30 THEN LOCATE (B-25)*14,22:PRINT NAMAE$(I)
  1218. 12270       IF B>30 AND B<=36 THEN LOCATE (B-31)*14,23:PRINT NAMAE$(I)
  1219. 12280       IF B>36 AND B<=42 THEN LOCATE (B-37)*14,24:PRINT NAMAE$(I)
  1220. 12290      NEXT
  1221. 12300      LOCATE 0,17:PRINT "この都市にいる公家一覧               "
  1222. 12310     WHILE MOUSE(2,0)=-1:WEND:RETURN
  1223. 12320     *KOKUZIN:B=0
  1224. 12330      FOR I=0 TO 579
  1225. 12340       IF SYO%(I)>=1000 THEN KOKU=SYO%(I)-1000 ELSE 12430
  1226. 12350       IF KOKU=RT%(PLAYR) THEN B=B+1 ELSE 12430
  1227. 12360       IF B>0 AND B<=6 THEN LOCATE (B-1)*14,18:PRINT NAMAE$(I)
  1228. 12370       IF B>6 AND B<=12 THEN LOCATE (B-7)*14,19:PRINT NAMAE$(I)
  1229. 12380       IF B>12 AND B<=18 THEN LOCATE (B-13)*14,20:PRINT NAMAE$(I)
  1230. 12390       IF B>18 AND B<=24 THEN LOCATE (B-19)*14,21:PRINT NAMAE$(I)
  1231. 12400       IF B>24 AND B<=30 THEN LOCATE (B-25)*14,22:PRINT NAMAE$(I)
  1232. 12410       IF B>30 AND B<=36 THEN LOCATE (B-31)*14,23:PRINT NAMAE$(I)
  1233. 12420       IF B>36 AND B<=42 THEN LOCATE (B-37)*14,24:PRINT NAMAE$(I)
  1234. 12430      NEXT
  1235. 12440      LOCATE 0,17:PRINT "この地方にいる国人・豪族一覧               "
  1236. 12450     WHILE MOUSE(2,0)=-1:WEND:RETURN 
  1237. 12460  *USER_B:LOCATE 0,18:PRINT "暫く お待ちください                                                          "
  1238. 12470   FOR I=0 TO 30:FOR P=0 TO 25:ITI%(I,P)=0:NEXT:NEXT
  1239. 12480   LOCATE 0,18:PRINT "                              "
  1240. 12490   IF X2<=450 THEN GOSUB *KAKUDAI_SYUKUSYO ELSE *MAP
  1241. 12500   X1=800:Y1=70:GOSUB *HYOUZI_MAP 
  1242. 12510  RETURN 
  1243. 12520   *KAKUDAI_SYUKUSYO:WHILE MOUSE(2,0)=-1:WEND
  1244. 12530    IF ZK=2 THEN LOCATE 46,1:PRINT HYOUZI$(2):ZK=6:ZX=30:ZY=25:RETURN
  1245. 12540    IF ZK=4 THEN LOCATE 46,1:PRINT HYOUZI$(0):ZK=2:ZX=90:ZY=75:RETURN
  1246. 12550    IF ZK=6 THEN LOCATE 46,1:PRINT HYOUZI$(1):ZK=4:ZX=45:ZY=38:RETURN
  1247. 12560   *MAP:WHILE MOUSE(2,0)=-1:WEND
  1248. 12570    MOUSE 4,460,10,630,60
  1249. 12580    IF ZK=2 THEN ZX=90:ZY=75
  1250. 12590    IF ZK=4 THEN ZX=45:ZY=38
  1251. 12600    IF ZK=6 THEN ZX=30:ZY=25
  1252. 12610    *MA:WHILE MOUSE(2,0)=0:WEND
  1253. 12620     X3=MOUSE(0):Y3=MOUSE(1)
  1254. 12630     WHILE MOUSE(2,0)=-1:WEND
  1255. 12640     X1=X3*2-260:Y1=Y3*2:IF ZK=2 THEN Y1=65
  1256. 12650 *HYOUZI_MAP:MOUSE 4,0,0,639,479
  1257. 12660  GET@A (X1-ZX,Y1-ZY)-(X1+ZX-1,Y1+ZY-1),HYOUZI%
  1258. 12670  PUT@A (640,140)-(640+ZX*2-1,140+ZY*2-1),HYOUZI%,PSET,ZK,ZK
  1259. 12680  FOR A=10 TO 63 
  1260. 12690   TX=TX%(A)+640:TY=TY%(A):Q=SS%(A)
  1261. 12700   IF X1-ZX>TX OR X1+ZY-2<TX THEN 12800
  1262. 12710   IF Y1-ZX>TY OR Y1+ZY-2<TY THEN 12800
  1263. 12720   IF Q=0 THEN 12800
  1264. 12730   IF Q=2 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A11%,MATTE,1,1,%15
  1265. 12740   IF Q=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A12%,MATTE,1,1,%15
  1266. 12750   IF Q=4 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+10,(ZY-(Y1-TY))*ZK+140+11),A13%,MATTE,1,1,%15
  1267. 12760   IF Q=3 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+12,(ZY-(Y1-TY))*ZK+140+11),A14%,MATTE,1,1,%15
  1268. 12770  K=(ZX-X1+TX)*ZK\12:K1=(ZY-Y1+TY)*ZK\12
  1269. 12780  IF K<0 OR K1<0 THEN 12800
  1270. 12790  ITI%((ZX-X1+TX)*ZK\12,(ZY-Y1+TY)*ZK\12)=A+1000
  1271. 12800  NEXT
  1272. 12810  FOR A=1 TO SRS
  1273. 12820   TX=X1%(A)+640:TY=Y1%(A):Q=PAT%(A)+BUGU%(A)
  1274. 12830   IF X1-ZX>TX OR X1+ZX-2<TX THEN 13020
  1275. 12840   IF Y1-ZY>TY OR Y1+ZY-2<TY THEN 13020
  1276. 12850   IF PAT%(A)=0 AND BUGU%(A)=0 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A1%,MATTE,1,1,%15
  1277. 12860   IF PAT%(A)=0 AND BUGU%(A)=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A2%,MATTE,1,1,%15
  1278. 12870   IF PAT%(A)=1 AND BUGU%(A)=0 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A1%,MATTE,1,1,%15
  1279. 12880   IF PAT%(A)=1 AND BUGU%(A)=1 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+644,(ZY-(Y1-TY))*ZK+151),A2%,MATTE,1,1,%15
  1280. 12890   IF Q=3 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+651,(ZY-(Y1-TY))*ZK+151),A3%,MATTE,1,1,%15
  1281. 12900   IF Q=4 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+651,(ZY-(Y1-TY))*ZK+151),A4%,MATTE,1,1,%15
  1282. 12910   IF Q=5 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A5%,MATTE,1,1,%15
  1283. 12920   IF Q=6 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A6%,MATTE,1,1,%15
  1284. 12930   IF Q=7 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A7%,MATTE,1,1,%15
  1285. 12940   IF Q=8 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A8%,MATTE,1,1,%15
  1286. 12950   IF Q=9 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A9%,MATTE,1,1,%15
  1287. 12960   IF Q=10 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+11,(ZY-(Y1-TY))*ZK+140+11),A10%,MATTE,1,1,%15
  1288. 12970   IF Q=13 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+4,(ZY-(Y1-TY))*ZK+140+11),A1%,MATTE,1,1,%15
  1289. 12980   IF Q=14 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+4,(ZY-(Y1-TY))*ZK+140+11),A2%,MATTE,1,1,%15
  1290. 12990   IF PAT%(A)=20 OR PAT%(A)=21 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+646,(ZY-(Y1-TY))*ZK+153),A15%,MATTE,1,1,%15:GOTO 13010
  1291. 13000   IF PAT%(A)=22 OR PAT%(A)=23 THEN PUT@A ((ZX-(X1-TX))*ZK+640,(ZY-(Y1-TY))*ZK+140)-((ZX-(X1-TX))*ZK+640+6,(ZY-(Y1-TY))*ZK+140+13),A16%,MATTE,1,1,%15:GOTO 13010
  1292. 13010   ITI%((ZX-X1+TX)*ZK\12,(ZY-Y1+TY)*ZK\12)=A
  1293. 13020  NEXT
  1294. 13030  DIM W%(40000):GET@A (640,140)-(640+359,439),W%:PUT@A (0,0)-(359,299),W%
  1295. 13040  ERASE W%
  1296. 13050 RETURN
  1297. 13060     *SEIRETU:B=0:BTN=0
  1298. 13070      FOR I=0 TO 579
  1299. 13080       IF SYO%(I)=R%(BUKA) THEN B=B+1:BUKA%(B)=I ELSE 13160
  1300. 13090       IF B>0 AND B<=6 THEN LOCATE (B-1)*14,18:PRINT NAMAE$(I)
  1301. 13100       IF B>6 AND B<=12 THEN LOCATE (B-7)*14,19:PRINT NAMAE$(I)
  1302. 13110       IF B>12 AND B<=18 THEN LOCATE (B-13)*14,20:PRINT NAMAE$(I)
  1303. 13120       IF B>18 AND B<=24 THEN LOCATE (B-19)*14,21:PRINT NAMAE$(I)
  1304. 13130       IF B>24 AND B<=30 THEN LOCATE (B-25)*14,22:PRINT NAMAE$(I)
  1305. 13140       IF B>30 AND B<=36 THEN LOCATE (B-31)*14,23:PRINT NAMAE$(I)
  1306. 13150       IF B>36 AND B<=42 THEN LOCATE (B-37)*14,24:PRINT NAMAE$(I)
  1307. 13160      NEXT:IF B>43 THEN B=42
  1308. 13170      WHILE BTN=0
  1309. 13180       WHILE MOUSE(2,0)=0:WEND
  1310. 13190       X1=MOUSE(0)\112:Y1=MOUSE(1)\19.2!-18
  1311. 13200       R=6*Y1+X1+1
  1312. 13210       IF R>B THEN BTN=0 ELSE BTN=1
  1313. 13220      WEND
  1314. 13230      P=BUKA%(R)
  1315. 13240     RETURN
  1316. 13250   *ZEHI:WHILE MOUSE(2,0)=-1:WEND
  1317. 13260    LOCATE 0,19:PRINT "  是  非                                      "
  1318. 13270    WHILE MOUSE(2,0)=0:WEND
  1319. 13280     X5=MOUSE(0):Y5=MOUSE(1)
  1320. 13290     IF Y5>374 OR Y5<354 THEN 13270
  1321. 13300     IF X5<=40 THEN ZEHI=1
  1322. 13310     IF X5>40 AND X5<=80 THEN ZEHI=0 
  1323. 13320    RETURN
  1324. 13330   *COM_KASSEN
  1325. 13340    IF O=PLAYR THEN TEKI=A ELSE TEKI=O
  1326. 13350    FOR I=1 TO 5:BEEP 1:WAIT 20:BEEP 0:WAIT 20:NEXT
  1327. 13360    WHILE MOUSE(2,0)=0
  1328. 13370     LOCATE 0,20:PRINT "現在我が軍は"+NAMAE$(R%(TEKI))+"軍と交戦中   "
  1329. 13380     WAIT 30
  1330. 13390     LOCATE 0,20:PRINT "                                            "
  1331. 13400     WAIT 30
  1332. 13410    WEND
  1333. 13420   RETURN 4260
  1334. 13430   *USER_TAIKYAKU
  1335. 13440    BEEP 1:WAIT 100:BEEP 0
  1336. 13450    LOCATE 0,21:PRINT "我が軍は壊滅状態です・これ以上の戦は無理です "
  1337. 13460   RETURN
  1338. 13470   *USER_HAISEN
  1339. 13480    BEEP 1:WAIT 100:BEEP 0
  1340. 13490    LOCATE 0,21:PRINT "我が軍は壊滅状態です・これ以上の戦は無理です "
  1341. 13500    LOCATE 0,20:PRINT "本拠地を放棄しますか                      "
  1342. 13510    GOSUB *ZEHI:IF ZEHI=0 THEN RETURN
  1343. 13520    LOCATE 0,21:PRINT "とりあえず出陣します                         "
  1344. 13530    GOSUB *YASAGASI
  1345. 13540    IF RT%(PLAYR)=-1 THEN GOSUB *GOURYU_B
  1346. 13550   RETURN
  1347. 13560   *USER_ZENMETU
  1348. 13570    FOR I=1 TO 5:BEEP 1:WAIT 20:BEEP 0:WAIT 20:NEXT
  1349. 13580    LOCATE 0,20:PRINT "我が軍は全滅しました             "
  1350. 13590    HE%(PLAYR)=-1:PAT%(PLAYR)=-1:WHILE MOUSE(2,0)=0:WEND
  1351. 13600    CLS:LOCATE 32,11:PRINT "強制終了 ":END
  1352. 13610   *ENDING:BEEP 1:WAIT 120:BEEP 0
  1353. 13620    LOCATE 0,19:PRINT "長い戦乱の時は終わった・・・・・・ "
  1354. 13630    LOCATE 0,20:PRINT "だが,この後百年も満たないうちに,未曾有の大乱が訪れようとは・・・・ ":WAIT 400
  1355. 13640    CLS:WIDTH 80,25:GOTO *ENDING_A
  1356. 13650  *BUSYOU
  1357. 13660   FOR I=0 TO 579:RANDOMIZE TIME:RD=FIX(RND*9)+NEN:MUHON=FIX(RND*20)-BC%(I):NANKA=FIX(RND*50)
  1358. 13670    IF SYO%(I)=NEN THEN GOSUB *SIKAN
  1359. 13680    IF DEI%(I)<=RD THEN GOSUB *SIBOU
  1360. 13690    IF SYO%(I)>=2000 AND SYO%(I)<3000 THEN GOSUB *KUGERAIHOU
  1361. 13700    IF SYO%(I)>=1000 AND SYO%(I)<2000 THEN GOSUB *HANRAN
  1362. 13710    IF SYO%(I)<600 AND MUHON<=-4 THEN GOSUB *MUHON
  1363. 13720   NEXT
  1364. 13730   GOSUB *SYUUNYUU
  1365. 13740   GOSUB *NANKA2
  1366. 13750  RETURN
  1367. 13760   *SIBOU:BEEP 1:WAIT 100
  1368. 13770    LOCATE 0,18:PRINT NAMAE$(I)+"が死亡しました                "
  1369. 13780    IF SYO%(I)=R%(PLAYR) R%(PLAYR)<>I THEN GOSUB *USER_SIBOU
  1370. 13790    IF I>=550 AND I<=553 THEN *TENNOUKE
  1371. 13800    FOR P=1 TO SRS
  1372. 13810     IF R%(P)=I THEN *ATOTUGI
  1373. 13820    NEXT
  1374. 13830    SYO%(I)=0:RETURN
  1375. 13840    *ATOTUGI:ATOTUGI=0:BT=0:IF R%(PLAYR)=I THEN *USER_ATOTUGI
  1376. 13850    LOCATE 0,18:PRINT NAMAE$(I)+"軍の総大将が死亡しました       "
  1377. 13860    IF I>=545 AND I<=547 THEN GOSUB *TENNOUEK
  1378. 13870    FOR L=1 TO 579
  1379. 13880     IF SYO%(L)=I THEN IF BT%(L)>BT THEN BT=BT%(L):ATOTUGI=L
  1380. 13890    NEXT
  1381. 13900    IF BT=0 THEN PAT%(P)=-1:HE%(P)=-1:SYO%(I)=0:RETURN
  1382. 13910    *ATOTUGI_A:FOR L=1 TO 579
  1383. 13920     IF SYO%(L)=I THEN SYO%(L)=ATOTUGI
  1384. 13930    NEXT
  1385. 13940    LOCATE 0,19:PRINT NAMAE$(I)+"軍の勢力は"+NAMAE$(ATOTUGI)+"が受け継ぎます          ":SYO%(I)=0:RETURN
  1386. 13950   *KUGERAIHOU:RANDOMIZE TIME:RRD=FIX(RND*10)
  1387. 13960    SYO=SYO%(I)-2000
  1388. 13970    IF SYO<>RT%(PLAYR) THEN RETURN
  1389. 13980    IF RRD<=6 THEN RETURN
  1390. 14000    BEEP 1:WAIT 90:BEEP 0
  1391. 14005    IF RRD=7 OR RRD=8 THEN *KUGENANKA
  1392. 14010    LOCATE 0,18:PRINT NAMAE$(I)+"が参られております              "
  1393. 14020    LOCATE 0,19:PRINT NAMAE$(I)+" 「宮殿造営の資金を援助願いたい」   " 
  1394. 14030    RK=RK%(PLAYR)\30+1:SUUZI=RK:GOSUB *KANSUZI
  1395. 14040    LOCATE 0,20:PRINT NAMAE$(I)+"は金"+KANZI$+"を持っていきました    "
  1396. 14050    RK%(PLAUR)=RK%(PLAYR)-RK:IF RK%(PLAYR)<0 THEN RK%(PLAYR)=0
  1397. 14060    SUUZI=RK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,7:PRINT KANZI$
  1398. 14070    KUG%(PLAYR)=KUG%(PLAYR)+1:IF KUG%(PLAYR)<100 THEN KUG%(PLAYR)=100
  1399. 14080    SUUZI=KUG%(PLAYR):GOSUB *KANSUZI:LOCATE 60,12:PRINT KANZI$
  1400. 14090   RETURN
  1401. 14100   *HANRAN:RANDOMIZE TIME:RRD=FIX(RND*10)
  1402. 14110    FOR L=1 TO SRS:SYO=SYO%(I)-1000
  1403. 14120     IF SYO<>RT%(L) THEN 14140
  1404. 14130     KOKU=KOKU%(L)\10+RDD-5:IF KOKU<=5 THEN GOSUB *KOKUZIN_HANRAN
  1405. 14140    NEXT
  1406. 14150    *KOKUZIN_HANRAN:BEEP 1:WAIT 40:WAIT 0
  1407. 14160     IF KOKU>=3 THEN RH%(L)=RH%(L)-RH%(L)\50
  1408. 14170     IF KOKU<3 AND KOKU>=0 THEN RH%(L)=RH%(L)-RH%(L)\40:MIN%(L)=MIN%(L)-MIN%(L)\10
  1409. 14180     IF KOKU<0 THEN RH%(L)=RH%(L)-RH%(L)\40:MIN%(L)=MIN%(L)-MIN%(L)\10:HE%(L)=HE%(L)-HE%(L)\20
  1410. 14190     LOCATE 0,18:PRINT TOSI$(RT%(L))+"で国人が暴れています        "
  1411. 14200     IF L<>PLAYR THEN RETURN
  1412. 14210     SUUZI=RH%(PLAYR):GOSUB *KANSUZI:LOCATE 60,8:PRINT KANZI$
  1413. 14220     SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:LOCATE 60,11:PRINT KANZI$
  1414. 14230     SUUZI=HE%(PLAYR):GOSUB *KANSUZI:LOCATE 60,10:PRINT KANZI$
  1415. 14240    RETURN
  1416. 14250    *MUHON:O=SYO%(I)
  1417. 14260     FOR L=1 TO SRS
  1418. 14270      IF R%(L)=O THEN RETURN
  1419. 14280     NEXT:BEEP 1:WAIT 100:BEEP 0
  1420. 14290     LOCATE 0,18:PRINT NAMAE$(R%(O))+"の部将"+NAMAE$(I)+"が叛乱をおこしました               "
  1421. 14300     HE%(O)=HE%(O)-HE%(O)\10:SK%(O)=SK%(O)-SK%(O)\5
  1422. 14310     SUUZI=HE%(PLAYR):GOSUB *KANSUZI:LOCATE 60,10:PRINT KAMZI$
  1423. 14320     SUUZI=SK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,14:PRINT KAMZI$
  1424. 14330    RETURN
  1425. 14340    *SIKAN
  1426. 14350      IF SIKAN%(I)=-1 OR SIKAN%(I)=-2 THEN *TENNOUKE_A
  1427. 14360     FOR L=1 TO SRS
  1428. 14370      IF RT%(L)=SIKAN%(I) THEN *SIKAN_A
  1429. 14380     NEXT:RETURN
  1430. 14390     *SIKAN_A:BUKA=0
  1431. 14400     SYO%(I)=R%(L)
  1432. 14410     IF L=PLAYR THEN LOCATE 0,18:PRINT NAMAE$(I)+"が加わりました    "
  1433. 14420     FOR L=0 TO 579
  1434. 14430      IF SYO%(L)=R%(PLAYR) AND L<>R%(PLAYR) THEN BUKA=BUKA+1
  1435. 14440     NEXT
  1436. 14450     SIIZI=BUKA:GOSUB *KANSUZI:LOCATE 60,9:PRINT KANZI$:RETURN
  1437. 14460    *USER_SIBOU:BUKA=0
  1438. 14470     FOR L=0 TO 579
  1439. 14480      IF SYO%(L)=R%(PLAYR) AND L<>R%(PLAYR) THEN BUKA=BUKA+1
  1440. 14490     NEXT
  1441. 14500     SIIZI=BUKA:GOSUB *KANSUZI:LOCATE 60,9:PRINT KANZI$:RETURN
  1442. 14510   *USER_ATOTUGI:BK=0
  1443. 14520    LOCATE 0,18:PRINT NAMAE$(I)+"が死んでしまいました           "
  1444. 14530    FOR L=0 TO 579 
  1445. 14540     IF SYO%(L)=R%(PLAYR) AND L<>R%(PLAYR) THEN BK=BK+1:BUKA%(BUKA)=L
  1446. 14550    NEXT
  1447. 14560    IF BUKA=0 THEN LOCATE 0,19:PRINT "後継者がいません  ":GOTO *USER_ZENMETU
  1448. 14570    FOR L=1 TO BK
  1449. 14580     IF BK>43 THEN 14650
  1450. 14590     IF BK>0 AND BK<=6 THEN LOCATE (BK-1)*14,18:PRINT NAMAE$(BUKA%(I))
  1451. 14600    IF BK>6 AND BK<=12 THEN LOCATE (BK-7)*14,19:PRINT NAMAE$(BUKA%(I))
  1452. 14610     IF BK>12 AND BK<=18 THEN LOCATE (BK-13)*14,20:PRINT NAMAE$(BUKA(I))
  1453. 14620     IF BK>18 AND BK<=24 THEN LOCATE (BK-19)*14,21:PRINT NAMAE$(BUKA%(I))
  1454. 14630     IF BK>24 AND BK<=30 THEN LOCATE (BK-25)*14,21:PRINT NAMAE$(BUKA%(I))
  1455. 14640     IF BK>36 AND BK<=42 THEN LOCATE (BK-37)*14,20:PRINT NAMAE$(BUKA%(I))
  1456. 14650    NEXT
  1457. 14660    LOCATE 0,17:PRINT "後継者をえらいでください    "
  1458. 14670    WHILE MOUSE(2,0)=0:WEND
  1459. 14680    X5=MOUSE(0)\112:Y5=FIX(MOUSE(1)-344)/19.5!)
  1460. 14690    R=X5+Y5*6+1:IF R<1 OR R>BK THEN 14690
  1461. 14700    LOCATE 0,18:PRINT NAMAE$(BUKA%(R))+"ですか      "
  1462. 14710    GOSUB *ZEHI:IF ZEHI=0 THEN 14570
  1463. 14720    FOR L=O TO 579
  1464. 14730     IF SYO%(L)=R%(PLAYR) THEN SYO%(L)=BUKA%(R)
  1465. 14740    NEXT:SYO%(I)=0:R%(PLAYR)=BUKA%(R)
  1466. 14750    CLS 1:LOCATE 0,18:PRINT NAMAE$(R%(PLAYR))+"が受け継ぎます      "
  1467. 14760   RETURN
  1468. 14770   *SYUUNYUU
  1469. 14780    IF TUKI<=3 OR TUKI>=12 THEN P=10
  1470. 14790    IF TUKI>=4 AND TUKI<=8 THEN P=15
  1471. 14800    IF TUKI=9 THEN P=500
  1472. 14810    IF TUKI=10 THEN P=1000
  1473. 14820    IF TUKI=11 THEN P=400
  1474. 14830    FOR L=1 TO SRS
  1475. 14840     KOKU%(L)=KOKU%(L)-1:IF KOKU%(L)<0 THEN KOKU%(L)=0
  1476. 14850     MIN%(L)=MIN%(L)-1:IF MIN%(L)<0 THEN MIN%(L)=0
  1477. 14860     IF RT%(L)=-1 THEN 14910
  1478. 14870     IF PAT%(L)>=3 AND PAT%(L)<=9 THEN 14790
  1479. 14880     IF PAT%(L)=20 OR PAT%(L)=21 OR PAT%(L)=23 THEN 14910
  1480. 14890     RH=RH%(L)+FIX(TS%(RT%(L))*P*MIN%(L)/100)+1
  1481. 14900     IF RH>30000 THEN RH%(L)=30000 ELSE RH%(L)=RH
  1482. 14910    NEXT
  1483. 14920    SUUZI=RH%(PLAYR):GOSUB *KANSUZI:LOCATE 60,8:PRINT KANZI$
  1484. 14930    SUUZI=KOKU%(PLAYR):GOSUB *KANSUZI:LOCATE 60,13:PRINT KANZI$
  1485. 14940    SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:LOCATE 60,11:PRINT KANZI$
  1486. 14950   RETURN
  1487. 14960   *NANKA2
  1488. 14970    IF NANKA=19 OR NANKA=18 THEN GOSUB *DENGAKU
  1489. 14980    IF NANKA=17 THEN GOSUB *SINKOUSAI
  1490. 14990    IF NANKA=16 THEN GOSUB *BOUEKI
  1491. 15000   RETURN
  1492. 15010   *TENNOUKE
  1493. 15020    IF I=545 THEN ATOTUGI=546:NAMAE$(546)="後村上天皇"
  1494. 15030    IF I=546 THEN ATOTUGI=547:NAMAE$(547)="長慶天皇"
  1495. 15040    IF I=547 THEN ATOTUGI=548:NAMAE$(548)="後亀山天皇"
  1496. 15050    IF I=550 THEN ATOTUGI=551:NAMAE$(551)="崇光天皇"
  1497. 15060    IF I=551 THEN ATOTUGI=552:NAMAE$(552)="後光厳天皇"
  1498. 15070    IF I=552 THEN ATOTUGI=553:NAMAE$(553)="後円融天皇"
  1499. 15080    IF I=553 THEN ATOTUGI=554:NAMAE$(554)="後小松天皇"
  1500. 15090    IF SYO%(ATOTUGI)=0 THEN RETURN
  1501. 15100    IF SIKAN%(ATOTUGI)=-1 THEN LOCATE 0,18:NAMAE$(I)+"が崩御されました・"+NAMAE$(ATOTUGI)+"が即位します                 ":RETURN *ATOTUGI_A
  1502. 15110    IF SIKAN%(ATOTUGI)=-2 THEN LOCATE 0,18:NAMAE$(I)+"が崩御されました・"+NAMAE$(ATOTUGI)+"が即位します    ":SYO%(ATOTUGI)=SYO%(I):SYO%(I)=0:RETURN
  1503. 15120   *TENNOUKE_A
  1504. 15130    IF SYO%(I-1)=0 THEN RETURN
  1505. 15140    SYO%(I)=SYO%(I-1):IF SYO%(I)<>R%(PLAYR) THEN RETURN
  1506. 15150    LOCATE 0,18:PRINT NAMAE$(I)+"が元服しました     "
  1507. 15160   RETURN
  1508. 15170   *DENGAKU
  1509. 15180    RRD=FIX(RND*SRS)+1
  1510. 15190    MIN%(RRD)=MIN%(RRD)+10:IF MIN%(RRD)>100 THEN MIN%(RRD)=100
  1511. 15200    IF RRD<>PLAYR THEN RETURN ELSE BEEP 1:WAIT 50:BEEP 0
  1512. 15210    LOCATE 0,18:PRINT "民衆が田楽をたのしんでいます           "
  1513. 15220    SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:LOCATE 60,11:PRINT KANZI$:RETURN
  1514. 15230   *SINKOUSAI
  1515. 15240    RRD=FIX(RND*SRS)+1:IF RT%(RRD)=-1 THEN RETURN
  1516. 15250    MIN%(RRD)=MIN%(RRD)+15:IF MIN%(RRD)>100 THEN MIN%(RRD)=100
  1517. 15260    RK%(RRD)=RK%(RRD)+TK%(RT%(RRD))*100
  1518. 15270    IF RK%(RRD)>30000 THEN RK%(RRD)=30000
  1519. 15280    IF RRD<>PLAYR THEN RETURN ELSE BEEP 1:WAIT 50:BEEP 0
  1520. 15290    LOCATE 0,18:PRINT "神幸祭がおこなわれています      "
  1521. 15300    SUUZI=MIN%(PLAYR):GOSUB *KANSUZI:LOCATE 60,11:PRINT KANZI$
  1522. 15310    SUUZI=RK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,7:PRINT KANZI$:RETURN
  1523. 15320   *BOUEKI
  1524. 15330    FOR L=1 TO SRS
  1525. 15340     IF RT%(L)=40 OR RT%(L)=16 THEN *BOUEKI_A
  1526. 15350     IF RT%(L)=30 THEN *BOUEKI_A
  1527. 15360    NEXT:RETURN
  1528. 15370    *BOUEKI_A
  1529. 15380    RK%(L)=RK%(L)+TK%(RT%(L))*500
  1530. 15390    IF RK%(L)>30000 THEN RK%(L)=30000
  1531. 15400    IF RRD<>PLAYR THEN RETURN ELSE BEEP 1:WAIT 50:BEEP 0
  1532. 15410    LOCATE 0,18:PRINT "明との貿易により大量の貨幣が入りました      "
  1533. 15420    SUUZI=RK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,7:PRINT KANZI$:RETURN
  1534. 15430  *USER_KIROKU:LOCATE 0,18:PRINT "記録中    "
  1535. 15440   KILL "JOUKYOU.DAT":KILL "SYO.DAT"
  1536. 15450   OPEN "O",#1,"JOUKYOU.DAT"
  1537. 15460   FOR I=1 TO SRS
  1538. 15470    WRITE #1,R%(I),RT%(I),X1%(I),Y1%(I),PAT%(I),BUGU%(I),RK%(I),RH%(I),HE%(I),SK%(I),MIN%(I),KUG%(I),KOKU%(I),MOKUTEKI%(I)
  1539. 15480   NEXT
  1540. 15490   CLOSE#1:OPEN "A",#1,"JOUKYOU.DAT"
  1541. 15500   WRITE #1,NEN,TUKI,SYUU,PLAYR
  1542. 15510   CLOSE #1:LOCATE 0,18:PRINT "         "
  1543. 15520   OPEN "O",#2,"SYO.DAT"
  1544. 15530   FOR I=0 TO 579
  1545. 15540    WRITE#1,SYO%(I)
  1546. 15550   NEXT
  1547. 15560   CLOSE#2
  1548. 15570  RETURN
  1549. 15580 *LOAD:Z=0
  1550. 15590  OPEN "I",#1,"JOUKYOU.DAT"
  1551. 15600  WHILE EOF(1)=0:Z=Z+1:WEND
  1552. 15610  FOR I=1 TO Z
  1553. 15620   IF I=Z THEN INPUT #1,A,B,C,D:NEN=A:TUKI=B:SYUU=C:PLAYR=D:GOTO 15650
  1554. 15630   INPUT #1,A,B,C,D,E,F,G,H,I1,J,K,L,M,N,O
  1555. 15640   R%(Z)=A:RT%(Z)=B:X1%(Z)=C:Y1%(Z)=D:PAT%(Z)=E:BUGU%(Z)=F:RK%(Z)=G:RH%(Z)=H:HE%(Z)=I1:SK%(Z)=J:MIN%(Z)=K:KUG%(Z)=L:KOKU%(Z)=M:MOKUTEKI%(Z)=N,SYO%(I)=O
  1556. 15650  NEXT
  1557. 15660  OPEN "I",#2,"SYO.DAT"
  1558. 15670  FOR I=0 TO 579
  1559. 15680   INPUT#1,SYO:SYO%(I)=SYO
  1560. 15690  NEXT
  1561. 15700  CLOSE#2
  1562. 15710  FOR I=1 TO SRS
  1563. 15720   IF R%(I)=546 THEN NAMAE$(546)="後村上天皇"
  1564. 15730   IF R%(I)=547 THEN NAMAE$(546)="長慶天皇"
  1565. 15740   IF R%(I)=548 THEN NAMAE$(546)="後亀山天皇"
  1566. 15750  NEXT
  1567. 15760  GOTO 1380
  1568. 15770  *ENDING_A
  1569. 15780  FOR I=0 TO 579
  1570. 15790   LOCATE 34,23:PRINT NAMAE$(I)
  1571. 15800   LOCATE 33,24:PRINT "                 "
  1572. 15810   WAIT 20
  1573. 15820  NEXT
  1574. 15830  FOR I=0 TO 25:LOCATE 33,24:PRINT "                ":WAIT 20:NEXT
  1575. 15840   LOCATE 39,23:PRINT "完"
  1576. 15850  FOR I=0 TO 12
  1577. 15860   LOCATE 33,24:PRINT "              "
  1578. 15870   WAIT 20
  1579. 15880  NEXT:WHILE MOUSE(2,1)=0:WEND:END
  1580. 15890  *KUGENANKA
  1581. 15900   LOCATE 0,18:PRINT NAMAE$(I)+"が参りました    "
  1582. 15910   LOCATE 0,19:PRINT NAMAE$(R%(PLAYR))+"殿,ご機嫌うるわしくなによりに存じます    "
  1583. 15920   IF KUGE%(PLAYR)<50 THEN RETURN
  1584. 15930   RK=RK%(PLAYR)+KUG%(PLAYR)*100:IF RK>30000 THEN RK%(PLAYR)=30000 ELSE RK%(PLAYR)=RK
  1585. 15940   LOCATE 0,20:PRINT "どうぞお納め下さい     "
  1586. 15950   SUUZI=RK%(PLAYR):GOSUB *KANSUZI:LOCATE 60,7:PRINT KANZI$:RETURN
  1587.